3.3v Zener to clamp the voltage.
This guy will destroy the accuracy of your readings when the voltage reaches about ~2.7-3.0 V, depending on the value of the divider resistors. The higher their value, the more the zener will spoil the fun. Unfortunately, zener diodes, especially in the lower values range, have a very smooth knee of the V-A characteristic curve where they begin to conduct. There's no sharp transition from the non-conducting to conducting state at the rated voltage.
Limiting input voltage is not a trivial task, unless measurement accuracy is not a requirement.
You could use a buffer op amp after the divider that has a resistor in series with the input pin whose value is selected so that max current when the input voltage reaches over Vcc+0.6V (and up to the max voltage you expect) doesn't exceed the maximum allowed value specified in the datasheet. Yes, it (ideally) requires that the opamp's datasheet actually specifies this and allows to exceed the voltage if you take measures to limit the current. Usually it's of the order of a few milliamps -- the input protection diodes are tiny. Then power the op amp with a voltage selected so that the possible output voltage swing does not exceed what is allowed for your ADC/microcontroller inputs. Once you do this, you realize that you now need to make sure that your Vcc rail does not go too high when it begins to sink current from the input divider coming via the opamp's input protection diode. This however is where a simple zener will do the job.
p.s. have you actually measured (with a scope or a DMM that can capture spikes) what happens when the engine is started? I am pretty certain that you won't see anything over 14 V there, first of all because the low internal resistance of the battery is going to shunt any such spike.