Pin13 to Darlington and motor barely spins.

Here's how I would explain it. If you want to have your high voltage applied across the motor when you want it to be on, then you will have voltage around 12 on the top side and near 0 on the bottom side. You want to avoid having 12 V near the arduino. So connect your transistor between the bottom end of the motor and the ground, instead of on the high DC voltage side. That is what you will see in most diagrams.

Think of the transistor as a switch. If the voltage between the base and emitter is low, it's turned off. If you increase the voltage between the base and emitter to 0.7V and then a bit more, it is turned on. You use two transistors to amplify that effect. I don't know why you'd need three. There are plenty of examples to look at. Then you figure out what resistors and diodes you need to regulate the current and avoid overloads and transient effects.