Precise spike timing as a means to encode information in neural networks is biologically supported, and is advantageous over frequency-based codes by processing input features on a much shorter time-scale. For these reasons, much recent attention has been focused on the development of supervised learning rules for spiking neural networks that utilise a temporal coding scheme. However, despite significant progress in this area, there still lack rules that are theoretically justified, and yet can be considered biologically relevant. Here we examine the general conditions under which optimal synaptic plasticity takes place to support the supervised learning of a precise temporal code. As part of our analysis we introduce two analytically derived learning rules, one of which relies on an instantaneous error signal to optimise synaptic weights in a network (INST rule), and the other one relying on a filtered error signal to minimise the variance of synaptic weight modifications (FILT rule)...