Man Utd 3-1 Man City
Manchester United extended their Premiership lead to nine points with a win over neighbours Manchester City.
Georgios Samaras then brought a fine save from Edwin van der Sar with a crisp volley.
As City attempted to battle their way into the game, Samaras stopped a goal-bound header from Richards virtually on the line, but was unable to turn it past Van der Sar.
City's frustration increased when United doubled their advantage on the stroke of half-time - a cruel reflection of the first-half play.
Trabelsi carelessly played Dunne into trouble, and when he was robbed by Rooney, Gabriel Heinze crossed for Saha to bundle past Weaver.
Weaver sustained a knee injury in the collision and was replaced at half-time by Andreas Isaksson, the Sweden keeper making his debut after a £2m summer move from Rennes.
Stephen Ireland also came on for the injured Claudio Reyna, and he swiftly brought another important save from Van der Sar.
Saha missed a glorious chance to add United's third after 52 minutes, but he shot wildly over the top after Isaksson could only block Rooney's shot.
Isaksson then turned over a rising drive from Giggs as United threatened to take advantage of City's need to push forward.
Uniyed had not been at their best, but Rooney was a constant threat, forcing a diving save from Isaksson with an instant left-foot shot on the run.
Sir Alex Ferguson made a tactical switch after 66 minutes, replacing Saha with John O'Shea, who was pushed into a protective role in front of the back four.
Isaksson was in action again two minutes later as United started to produce flashes of their trademark passing game, denying Rooney at point-blank range from Giggs' cross.
But City were refusing to give up and pulled a goal back in spectacular fashion, Trabelsi shooting high past Van der Sar with an angled drive from 18 yards.
Richards was injured in the build up and was stretchered away, to be replaced by Damarcus Beasley.
City's hopes of a comeback were snuffed out six minutes from time when Dunne missed Rooney's cross and Ronaldo turned home.
And to round off City's misery striker Corradi, who had already been booked, was sent off by referee Graham Poll after a ridiculous and unnecessary dive.