Grealish opened his account for the season at the Molineux just 55 seconds into the match as he converted a cross from an overlapping Kevin De Bruyne.
Haaland doubled City's lead with a superb low strike from 25 yards into the bottom left corner -- his 14th goal in 10 games in all competitions this season -- and Wolves' task was made harder on 33 minutes when defender Nathan Collins was sent off for a wild, high tackle on Grealish.
Foden capped a successful outing for City on 69 minutes as De Buryne made a similar overlapping ran as he did for the opening goal to set up Foden, who slotted home.
There was a minute's silence ahead of kickoff following the death of Queen Elizabeth and the majority of fans kept a respectful silence, while there was warm applause on 70 minutes from all around the ground to mark the number of years the monarch was on the throne.
"It was nice to get off the mark this season and get the three points at a difficult place to come against a top team," Grealish told BT Sport.
"This Wolves team is so underrated and they showed that in the second half, so it is a great result for us.
"I should be scoring goals and getting more assists. I'm always going to have people talking about me with the amount I was bought for.
"But even at Aston Villa I did not score as much as I should have. It is something I want to add to my game."