The striker's flicked header in the 69th minute was enough to decide a closely contested affair between two sides with promotion aspirations.
Aitor Karanka's side had to hang on in injury time as the Blades piled on the pressure, but Chris Wilder's team could not break the Reds' resolve and the home side held on for a win that lifted them back into the play-off places.
Oliver Norwood flashed a 20-yard shot only a few feet wide for United, following a poor early clearance from Adlene Guedioura.
Jack Robinson also had to produce a brave block when Paul Coutts hit a powerful shot from the edge of the box.
But Joe Lolley was not too far away for Forest when he sent a dipping volley just over the bar following a free-kick.
United keeper Dean Henderson had to be alert, racing out of his box to pick the ball off Lewis Grabban's toes when he looked to get onto the end of a great pass from Carvalho, which had split the visiting defence.
A corner from John Fleck ended with John Egan planting a downward header that bounced awkwardly, just the wrong side of the post, as the Forest defence stood watching nervously.
When United only half-cleared a Forest corner, Jack Robinson collected a high, bouncing ball before striking an instant shot that keeper Henderson had to get his body behind well.
It had been a cagey, closely-contested first half, with both sides working hard to close down their opponents when they were in possession.
Cash flicked the ball over the head of two Blades defenders to make room for a shot in creative fashion - but then fired wide.
Cash was denied by a brilliant block from Kieron Freeman, who threw himself into the path of his driven shot bravely, following some great work from Lolley.
Sharp went close with a header for the visitors, with the ball bouncing just wide.
But it was Forest who were to take the lead in the 69th minute.
Carvalho did well to keep the ball in play on the left side, following a corner, before driving in a delicious, powerful cross that needed only the slightest of touches from the head of Grabban to steer it home inside the post.
United brought on George Baldock and Sam Woodburn as they went in search of an equaliser but it was Lolley who was next to have a go, sending a shot close for Forest.
In injury time, a chance fell to Woodburn, but he prodded wide.
Wilder admitted his side had not been at their best and revealed his message to his players was that they must learn to get more from closely-contested games like this.
“We haven’t played well and we haven’t got anything from the game and that is something we need to address,” he said. “The same thing has happened four or five times to us now.
“I have just said to the players that, when we play well, we expect to win.
“There will be times when you don’t play well and the opposition are miles better than you and you don’t get anything from the game - you hold your hands up when that happens.
“But in between there are games that are tight, when you are not as good as you would like to be, but you still have to come away with something.
“This was one of those games where we haven’t come away with anything from a tight game.
“Our control of the game wasn’t as good as it usually is. Our keeper hasn’t had much to do, but neither has their keeper. It was a low-quality game when you look at the good players who were on show.
“But Forest have got a result out of it and we haven’t and that is what is most disappointing for us.”