The Adafruit motor shield kit for Arduino gives you the ability to drive up to 4 DC motors or 2 stepper motors and can be stacked to add more motors, leaving the pins on the Arduino free for more inputs and outputs for sensors.
The TB6612 MOSFET drivers have been used in place of the previously used L293D darlington driver, with 1.2A per channel current capability (you can draw up to 3A peak for approx 20ms at a time). It also has much lower voltage drops across the motor so you get more torque out of your batteries, and there are built-in flyback diodes as well.
There is a fully-dedicated PWM driver chip onboard. This chip handles all the motor and speed controls over I2C. Only two pins (SDA & SCL) are required to drive the multiple motors, and since it's I2C you can also connect any other I2C devices or shields to the same pins. This also makes it drop-in compatible with any Arduino, such as the Uno, Due, Leonardo and Mega R3.
Completely stackable design: 5 address-select pins means up to 32 stackable shields. Totalling 64 steppers or 128 DC motors!
Comes with an assembled & tested shield, terminal block, plain header, jumper. Some soldering is required. Stacking headers, Arduino and motors not included.