Calculation of base current resistor resistance for a transistor operating in switch mode?
Following the instructions on the blog I can assure you that it is safe to use for your application.
It seems that most arduino tutorials either drive much smaller motors, or use standard resistor values.
As in: "Oh well, I don't wanna calculate it, lets just whack 1k in there."  

Just to be clear:  

The datasheet says b = 250 on total saturation in figure 2.
You go from there and take your collector current, which is Ic = 2.5A  

Ib = Ic / 250
Ib = 25mA  

Then you look at figure 2, again. Vbe for Ic = 2.5A is about 1.75V
->(Don't be afraid to overshoot a LITTLE bit)
The output voltage of your controller is Vaduino = 5V
so you can calculate the resistors voltage:  

Vr = Varduino - Vbe
Vr = 3.25V  

Therefor your resistor is:
Rb = Vr / Ib
Rb = 130 ohm  

Yes this is extremely small, but you are driving large currents and your signal voltage from the Arduino is very low. The TIP120 operates at the upper range of it's specs, that's why Vbe is that high.
What you can do is add a 2nd transistor to drive the TIP120 to decrease current on your I/O pin of the Arduino. But as far as I know the Arduino is able to drive 25mA. It's on the edge, but it CAN do it.  

Here's a schematic:

This lowers the current on your arduino I/O pin. This setup is useful for even larger loads, even though I'd recommend a mosfet in that case.
Another problem with this: it inverts the output, so whenever the I/O pin is HIGH, Q2 is off. 

Also:
You said you're driving this from a 9V cell. Keep in mind that 9V batteries are not able to provide 500mA without a significant voltage drop, and they certainly don't provide 2.5A! So you might wanna think about your power source, too.