Forlan struck at the start of the second half after Jon Obi Mikel's 37th-minute strike had cancelled out Uruguay's opener, which came in the 19th minute courtesy of the much-maligned Diego Lugano.
The result left the two sides level on three points from two games in Group B but, with a game against Tahiti to come, Uruguay are in prime position to qualify alongside Spain, who have six points and will take on Nigeria in their final pool match.
The opener at the Arena Fonte Nova will not be a contender for goal of the tournament. Forlan sent in a low cross from the left, Edinson Cavani completely missed it as he attempted to flick the ball between his legs and Lugano was in the right place to scuff the ball over the line.
But Lugano turned villain when his lack of mobility cost his side an equaliser.
Some neat interplay on the edge of the box led to Brown Ideye finding Mikel, who turned past a static Lugano and fired home.
Six minutes into the second half, Forlan put Uruguay back in the lead. He received the ball on the left after good work from Luis Suarez, and Edinson Cavani then hammered the ball past Vincent Enyeama from a narrow angle for his 34th international goal.
Cavani had a chance to finish it off in the 70th minute when he beat the Nigeria offside trap and found himself in acres of space, only to thrash the ball high and wide.
And he missed another great opportunity six minutes later when he got on to the end of Forlan's free-kick and headed wide.