Four minutes later, Simon Cox nearly put the hosts in front, but his low drive took a slight deflection that guided it the wrong side of the post.
Forest rattled the goal frame in the 28th minute, as Henri Lansbury's header clip the bar on its way over from a Majewski corner.
Barnsley keeper Steele was forced into action twice in the space of a minute towards the end of the half, first pushing away Sharp's header before keeping out Adlene Guedioura's long-range drive.
After the break, Steele was called into action once more to stop Lansbury's free diving header from six yards out.
Forest continued to dominate the Barnsley goal, but Steele's fingertip save forced Andy Reid's low strike onto the post, before he kept out another Sharp header.
The hosts hit the goal frame for the third time of the match just moments later, as Sharp's spectacular volley came back off the post.
There was still time for Sharp's stoppage-time header to hit the crossbar, but Forest failed to find the back of the net.