However, it was not enough to prevent Millwall extending their poor form, with Gary Rowett's side having won only once in 15 Championship games.
Cyrus Christie was the first to hit a shot, but the Forest man was wayward with his effort from the edge of the box.
A defensive slip allowed Lewis Grabban to latch on to a fine pass from Cafu eight yards out, but Millwall keeper Bartosz Bialkowski was quick to close the angle and make a smart save to deny the striker.
Yates sent a header bouncing wide as Forest continued to set the early tempo. Another corner saw Joe Worrall lash a shot wildly high and wide as the home side maintained their domination, without turning that into a goal.
Forest took the lead in the 34th minute when, after being fed by Cafu, Ameobi side-stepped on the edge of the box, creating the room to drive a low shot into the bottom corner of the net.
Shaun Hutchinson had a header cleared off the line by striker Grabban as Millwall went in search of an immediate response.
Forest had dominated possession for the first 20 minutes, but after going behind, it was Millwall who finished the half far stronger.
Cafu almost made it 2-0 with a hammered free-kick that Bialkowski kept out with a strong save. A minute later Yates was a whisker away with a shot that bounced just the wrong side of the post.
Alex Mighten showed some lovely trickery to leave two Millwall players in his wake on the edge of the box, only to see his shot charged down.
Mighten was involved again as he lured the attention of Millwall, before feeding Grabban in the box – where he fired into the side netting.
It was Mighten who then gave the ball to Ameobi just outside the box, but it was a solo effort when Ameobi then cut inside, before lashing an unstoppable shot across goal and inside the far post to make it 2-0.
Milwall had used all five subs in an effort to get back into the game but it was Forest who got a third, as Yates forced home a driven Cafu corner at the near post.
Millwall did pull one back when Samba – who seemed to have been clearly fouled – punched to the edge of the box, from where sub Thompson drove home.