-----------------<MOTORS>-----9v
                                    /
           Arduino Digital Pin 8 --------\/\/\/\/----[transistor]
                                    \
                          1k resistor      -----------------GND
all the motors should be connected in parallel, not daisy chained end to end. This is the setup for an NPN transistor, 2n2222 and TIP120 are both NPN. For a PNP transistor, the motors would go between the transistor and ground instead of between the power and the transistor. Think of the transistor as a switch. The "base" takes in a small input and turns on or off accordingly. The other two electrodes are where the power and the load go.. not so hard to understand, really. You should also have a diode to handle the flyback spike, it gets connected in "reverse" across the motor. In short, motors can cause a power spike that can kill other components unless you are careful. That diode (1N4001 is what I use, cheaper than dirt) is your protection from that spike. You could also use a smallish ceramic capacitor, but I prefer diodes as they are foolproof.
Here, I want you read this.. it covers a number of really good options in a really well done tutorial:
http://www.me.umn.edu/courses/me2011/arduino/technotes/dcmotors/motorcontrol/motorcontrol.html
When the author refers to "fancy version" of motor control, he means the chip on that controller board you pointed to. Besides being overkill, it interfaces via Serial, which is great in some respects but not so great in others. He refers to it in the section named "Bidirectional Motor Control". It's just more pain than you need and certainly more cost.
The code will be very simple. I picked pin 8 randomly by the way.
You'll just be doing:
digitalWrite(8, HIGH);
to turn the motors on, and
digitalWrite(8, LOW);
to them off.
Now, all you need to do is detect the switch and add a few delays for timing and you're cooking with gas.