It proceeds through What Cheer before intersecting Iowa 22 west of Thornburg.
It then turns north and ends at US 20 at the southern city limit of Waterloo.
The current version of Iowa 21 is the second occurrence of the route number in the state.
The first one went north from Ida Grove to the Minnesota border and was eventually replaced by US 59.
The current Iowa 21 was created in October 1934 and went between Victor and Dysart.