You can use a MOSFET to control a DC motor directly from an Arduino.H Using a H-Bridge is another way to control DC motors. Probably the L298N is the most used one but I prefer TB6612FNG.It's It's a bit expensive, but uses much less current and is something with a better response.
You will find tons of tutorial with both modules.
Good luck!