FA Cup 5th Round: Everton 3 Aston Villa 1
Villa's FA Cup dream ended at Goodison Park as Everton marched on to the quarter-finals.
Villa, under Martin O'Neill's inspirational leadership, had not lost a domestic match since Middlesbrough beat them on November 9. Since then they have surged into the top four of the Premier League, and one of their most impressive victories was a stunning 3-2 success over Everton in December.
But Everton have lost just one of 13 since losing out to a stoppage-time goal on that occasion, and they have taken on the look of a side that believe they are Wembley-bound, having beaten Liverpool in the last round.
First-half goals from Rodwell and Arteta, who converted a penalty, put them well on course. James Milner had pulled Villa level at one stage from the spot, but Cahill's late third condemned the visitors to defeat.
With a UEFA Cup tie against CSKA Moscow on Wednesday and a home league clash with Chelsea next Sunday, Villa's tremendous season is now at a crucial point.
Everton striker Victor Anichebe returned to the side for the first time since his training ground bust-up with manager David Moyes earlier in the month.
With new loan signing Jo cup-tied, and with James Vaughan, Ayegbeni Yakubu and Louis Saha all injured, the Everton boss was left with little choice up front but to reinstate the Nigerian.
Everton were also without the suspended Steven Pienaar while Leon Osman was a late withdrawal with a rib problem.
Villa had Gareth Barry also banned, while Emile Heskey did not make the squad, and that will only annoy boss O'Neill further.
O'Neill has already complained that England should not have played Heskey in the midweek defeat in Spain because the striker was nursing an Achilles injury.
This tie then had a dramatic start with two goals in the first eight minutes.
Everton struck first after three minutes when 17-year-old Rodwell fired in from close range after Cahill's header from Arteta's corner had been cleared off the line by Stiliyan Petrov.
Stand-in Villa captain Petrov looked to have used his hand to block the first effort on
the line, but Yorkshire referee Martin Atkinson missed the incident otherwise Petrov would have been sent off.
But five minutes later Villa were level when Tony Hibbert brought down Gabriel Agbonlahor in the box to concede a penalty.
Hibbert was booked and Milner drove in the spot-kick, although it was almost stopped by Tim Howard.
The successful spot-kick produced a bizarre fact. Milner became the first visiting player to score an FA Cup penalty at Goodison since 1946, when Bill Shankly - then at Preston - found the net.
Cahill was then booked after 16 minutes for trying to punch a cross into the net, and that means he will be suspended next weekend for the league game at Newcastle.
The drama continued when Everton gained a penalty of their own to reclaim the lead. Anichebe took a pass from Hibbert and set off on a surging run through the middle, only to brought down by Steve Sidwell, who was booked. This time it was the turn of Arteta to fire in the spot-kick.
Two minutes later Petrov was booked for a foul on Rodwell, before Dan Gosling saw a low drive crash into the sidenetting.
Agbonlahor should have equalised when he missed with a header six yards out, from Ashley Young's cross.
Milner was booked for a lunge at Leighton Baines, who probably saved the winger a harsher penalty by being quickly back on his feet.
But Villa's pressure was mounting and they would have been level after 61 minutes had it not been for an outstanding save from Howard to his left.
John Carew met a Milner cross and connected well with a neat flick before the USA international finger-tipped the ball away at full stretch.
Brad Friedel saved well from a Cahill header following a Baines cross, the game heating up with several debatable challenges flying in.
O'Neill was upset with two tackles on Young, while after the second one Everton captain Phil Neville made it very clear he felt the Villa man had dived.
Everton were being forced to defend, and Sidwell should have done better with a header from Milner's cross which sailed wide.
But when Everton broke quickly from defence they grabbed a third after 76 minutes. Anichebe's ball into the box from the left was missed by Curtis Davies, allowing an unmarked Cahill a 10-yard finish.
Considering Villa's defensive reputation, it was a sloppy goal to concede, full of basic errors.
Villa sent on Nathan Delfouneso for Sidwell with six minutes left, before Rodwell was booked for a trip, ahead of Joseph Yobo and Segundo Castillo replacing Anichebe and Arteta in the final minutes.