It starts on a mini-roundabout on the B981 (former A910) in Auchterderran. It heads north along Woodend Road and there is a short dual-carriageway section by the church: a portent of things to come. The road moves almost seamlessly into Woodend itself where the road bends sharply right on the far side of town.
The road heads northeastwards, descending gradually as it does so. It meets the B9097 before crossing a railway line and bending sharply to the right to enter Kinglassie where it runs through town along Main Street. Soon after reaching open country once more the road widens again to dual carriageway. This is the edge of Glenrothes New Town and as such the road has been altered beyond recognition from this point on. After passing a typical new-town over-engineered GSJ with an unclassified road there are then two flat roundabouts which should have been grade-separated but weren't; the first is with the B969, the second with an unclassified road. The third roundabout is where the B921 crosses the A92 - this time it is the A-road that has the flares for grade-separation.
On the far side of the A92 the B921 becomes S2 once again. It passes an industrial estate before ending at Coaltown Roundabout on the B9130. Originally the B921 continued ahead through Coaltown of Balgonie along what is now the B9130 before heading along what is now an unclassified road into Milton of Bagonie, where it ended on the A911.
The 1976 OS Landranger sheet shows the current line of the B921 as partially complete. The section between Stenton Roundabout and Bankhead Roundabout appears to be complete and awaiting the construction of the new roundabout with the next section of the A92 upgrade. Further east, the B921 still extends into Milton of Balgonie.