A second half Roy Beerens brace meant Reading would win their final home match before Christmas against high-flying Sheffield Wednesday.
The deadlock was broken just before the hour when a McCleary free kick found Evans at the far post and he teed up Beerens for a sweetly struck shot that deflected off a Wednesday defender and looped past a wrongfooted Westwood.
And a sublime finish from the Dutch midfielder added a second, the winger's well-timed run onto a Yann Kermorgant flick capped off with a touch wide of the keeper and a threaded sidefooted finish into the bottom left corner. Steven Fletcher pulled one back in six minutes of injury time, but Reading hung on for all three points!
Manager Jaap Stam brought Liam Moore into the side after he served his suspension last weekend, but Danny Williams missed out through suspension following his red card at Craven Cottage. Yann Kermorgant was fit enough to take a place on the subsitites bench, while Callum Harriott missed out.
Moore's absence at the back at the weekend had been felt, but his first input in this one came going forward. He strode into midfield and spread the ball out to Obita on the left, who won a corner with an early cross. McCleary floated the set piece onto the head of his centre-half but Moore couldn't keep his effort down and it sailed over for a goal kick.
With ten minutes played, it took a Moore block to deflect a Kieran Lee shot over the crossbar and Barry Bannan arced an effort just wide soon after - although Ali Al Habsi had it covered had it been on target.
Nuhiu had an effort from range but skied the ball over, then a short pass from Al Habsi didn't make it to Tyler Blackett and Wednesday had another opportunity to shoot, this time Wallace forcing a fingertip save from the Omani stopper, who pushed it around his right post.
The home side enjoyed a spell of pressure, but couldn't create an opening - then Wallace nearly unlocked the Royals' defence with a near post cross that Nuhiu slid in for but couldn't connect with to apply the finish.
Paul McShane forced Westwood into a save at his near post when he connected with a diving header to direct McCleary's free kick towards goal, but it was a comfortable stop for the Owls keeper.
Seven minutes of the first forty-five left to play and Evans lofted a lovely ball over the top for Beerens to run onto. The Dutchman wrestled to turn his man and did so but the ball cannoned off the midfielder's back before he could get the ball in front of his body to shoot.
Samuel scuffed a half-chance at goal that Westwood gobbled up, Nuhiu and Evans both went into the book for untidy tackles and after three minutes of injury time elapsed the two teams went into the dressing room level.
Half-time: Reading 0-0 Sheffield Wednesday
Five minutes after the resumption, Carlos Carvalhal's men should have taken the lead. A threaded ball from midfield found the run of Lucas Joao and he cut back inside Blackett, picked his spot past Al Habsi but dragged it inches wide of the bottom left corner to the home fans' relief.
Wednesday had begun the second half the better, but just before the hour mark Reading took the lead. McCleary won a free kick on the right and floated it in to the near post where it was flicked on to Evans free on the other side of the box.
He passed it back to Beerens who drove a fierce effort at goal, and the ball flew off one of five Wednesday bodies trying to charge the shot down and it sailed past the wrongfooted Westwood and into the back of the net.
It could have been 2-0 soon after. Substitute Yann Kermorgant won a free kick and MCCleary delivered a dangerous inswinger. Van den Berg got his head on the end of it, but it bounced up into the arms of Westwood to the visitors' relief.
Kermorgant fed Beerens on the break moments later, but a nasty bobble means the winger could only arrow high over the bar. At the other end, the lively Joao hooked over from just inside the area as Wednesday threatened an equaliser.
But it was 2-0 with a quarter of an hour to go. Kermorgant flicked on Al Habsi's long kick and Beerens raced onto it, beating the offside trap with a well-timed run. He held it up to cleverly cut inside the backtracking defender and round the keeper before passing it brilliantly into the bottom left corner.
Tempers spilled over when Wallace scythed down McCleary and a flurry of yellow cards were shown and Wednesday weren't going to lie down and accept defeat.
And in the first minute of injury time, the owls had a goal back! A deep cross to the far post from the left was met by the head of Fletcher who watched it bounce off the base of the right upright and in.
It took a fabulous fingertip save from Al Habsi to keep Fletcher out in the dying stages, the Wednesday substitute arrowing across the face of goal but seeing his shot clawed wide of the post by Al Habsi at full stretch.
Some desperate defending from the Royals inside the box meant the home side would survive the late onslaught and, in fact, Joseph Mendes went through one on one with the keeper in the six minute of stoppage time only to see his shot blocked out to Kelly who too saw a low drive cut out en route to goal in a dramatic finale.
Full-time: Reading 2-1 Sheffield Wednesday
Reading: Al-Habsi, Gunter, Obita, Blackett, Moore, McShane (c), Van den Berg (Kelly 83), Evans, Beerens, McCleary (Mendes 89), Samuel (Kermorgant 64).
Subs: S Moore, Watson, Cooper, Meite.
Goals: Beerens (57, 74)
Yellow: Evans, Van den Berg, McShane
Sheffield Wednesday: Westwood, Lee, Reach, Loovens (c), Lees, Joao, Huthcinson, Hunt, Wallace, Bannan, Nuhiu (Fletcher 60).
Subs: Wildsmith, Palmer, Semedo, Pudil, Sasso, Hirst.
Goals: Fletcher (90)
Yellow: Nuhiu, Lee, Hutchinson, Wallace, Loovens.
Att: 18,153 (2,296 away)