Control DC Motor with arduino
You can use various H-bridges available in the market for rotating the motor either ways! However, you can also make one yourself!(We usually design them on our own so as to meet the current requirements of the specific motors(due to varying loads). You could use an opto-coupler/opto-isolator as in the input from the arduino. Thereafter, these outputs can be used to switch the relays(of requred current rating) whose coils are connected between Power(12V,in your case) and Ground. 

If you want to rotate the motors in both the direction, use 2 optos! You can also use a MOS if you need to control the speed of the motor(PWM). Make sure that the relay requirements and optos are chosen depending on the current!