DC fan control using an arduino UNO and a N channel MOSFET
Using a MOSFET is not a bad way to switch loads. You will need a few resistors though; see this post for some good examples of MOSFET switch circuits.

Your Arduino can give ~40mA max on an output pin. A MOSFET should draw next to nothing into its gate (in fact, many times it is assumed to be zero). Consider where current for the fan is being drawn from - when the MOSFET switches on, current flows from your 12V supply (Vin is connected to the barrel jack, so the current output of this pin is determined by whatever supply is plugged into the barrel jack) through the fan to ground. The 12V is also connected to a 5V regulator on the Arduino, so it essentially has its own supply fed by Vin. You just have to ensure that when your fan switches on, it doesn't draw so much power from the supply that the Arduino resets.