A below-par Liverpool, seeking a third consecutive league win, could have few complaints as Forest produced a superb performance to earn their second win of the season.
Juergen Klopp's side were off the pace in the first half as a disciplined Forest side knocked them out of their rhythm.
Forest went ahead in the 55th minute when Awoniyi poached a rebound after his initial effort struck the post.
The hosts were dangerous on the counter-attack and had several chances to give themselves some breathing space.
But they were indebted to keeper Dean Henderson who made a series of saves, the best coming in stoppage time when he somehow kept out a sensational Virgil van Dijk close-range header from a corner.
Forest held on and moved to 19th place with nine points from 12 games, one ahead of Leicester City.