The torque (and speed) of a DC motor are both controllable.
The torque is controllable up to the maximum rated torque of the motor, and is controlled by varying the armature (and if a shunt wound motor, the field) current. Maximum sustainable torque is achieved at full rated current on the armature (and field). Most DC motors, especially small ones such as your 2HP example can easily handle up to 150% armature current overload for a brief period (say, about 30 seconds).
The speed is controllable from 0 to maximum rated speed by varying the armature voltage from 0 to base rated voltage (48VDC in your case). For a shunt wound motor, the speed can be increased by reducing the field excitation, but above base speed, the motor will lose torque. Essentially, it goes into a constant power mode.
A transformer doesn't work on DC, so you can't use that for any control. A small motor like your example one should work fine driven off of a PWM controller (if you have a DC supply), or an SCR Phase angle controller (if you have an AC supply).
You didn't give any specs on the motor besides rated HP and voltage, so I can't determine the actual speed or torque curves. If you are stuck with that motor, a 'gear' reducer is probably going to be necessary in addition to a PWM or SCR controller. This doesn't have to be a gearbox, it could just be a belted pulley system between the motor output shaft and the driven load.