Paul Scholes struck the only goal as Manchester United rescued their season by reaching their 16th FA Cup final with victory against Arsenal at Villa Park.
Scholes' 32nd-minute winner proved to be enough to beat the holders and ended the Gunners' dream of reaching a historic fourth successive final.
The goal also ended Arsenal's hopes of emulating United's 1999 achievement of a treble of European Cup, Championship and FA Cup.
The FA Cup was United's only escape route after Champions League elimination by Porto and they remain 12 points behind Arsenal in the Premiership.
Man of the match Wes Brown summed up the importance of today's victory. "This was our last chance of winning something this season," he said.
"If we hadn't won today, we'd have ended up with nothing and none of us wanted that." Brown and centre-back partner Mikael Silvestre were outstanding as Arsenal tried to claw their way back in the second half.
But Arsene Wenger's team had only themselves to blame after wasting a series of gilt-edged early chances.
By the time Wenger sent on Thierry Henry and Jose Antonio Reyes, Brown had marshalled United's defence superbly to resist the challenge.
United boss Sir Alex Ferguson maintained his amazing record of never having lost a domestic semi-final, while at the same time ending Arsenal's unbeaten run of 18 games in the FA Cup.
United like meeting Arsenal in semi-finals at Villa Park. It was their third semi-final win over the Gunners here in 21 years.
They came from behind to beat Arsenal 2-1 in 1983. Five years ago, Ryan Giggs scored a spectacular extra-time replay winner after Roy Keane had been sent off and Peter Schmeichel had saved Dennis Bergkamp's penalty.
The United boss said: "I was delighted for our fans. They were like an extra man for us.
"We had a bit of luck early on and Roy Carroll played his part. Now we've got a chance of finishing the season with a trophy." He also praised Portuguese winger Cristiano Ronaldo who gave probably his best display yet for United. "He was always the ball out for us. He held it up well and always threatened them," Ferguson added.
United suffered a major blow when top scorer Ruud van Nistelrooy was ruled out with a swollen knee while Diego Forlan was rested after his midweek game for Uruguay.
Sir Alex switched Ole Gunnar Solskjaer from the right of midfield to operate as a lone striker. The United boss started with Phil Neville and Nicky Butt on the bench after both played all 90 minutes for England against Sweden on Wednesday.
Arsenal began with Henry on the bench, ahead of a gruelling period of four matches in nine days. Jeremie Aliadiere stepped in. Gilberto was also rested after his midweek outing for Brazil while Gael Clichy continued at left back in place of knee victim Ashley Cole.
Arsenal could have been two up in the first four minutes. Bergkamp broke clear on to Freddie Ljungberg's header and Carroll came out to block.
Bergkamp curled the rebound past the keeper, only for Brown to rescue United with a diving header off the line.
Then Edu's delicate left-foot chip bounced off the bar with Carroll beaten and the keeper recovered to tip away Kolo Toure's follow-up header.
Ronaldo and Giggs stretched Arsenal's full backs, before the Gunners made - and missed - another glorious chance after 25 minutes.
Sol Campbell powered forward and found Bergkamp. His cross picked out the unmarked Robert Pires at the far post but the Frenchman wastefully planted his header over.
United punished Arsenal's profligacy seven minutes later. Gary Neville had predicted that the game would be settled by one flash of brilliance - like Giggs' 1999 decider. He was right.
This time, Giggs nipped behind Edu and Clichy to collect Gary Neville's pass. Scholes drove in to meet Giggs' low cross and smashed the ball past Jens Lehmann.
Silvestre's last-ditch tackle robbed Ljungberg and Patrick Vieira's header, deflected off Keane, clipped an upright as Arsenal finished the half on the attack.
But Wenger had half-time headaches. His side lacked physical presence in attack. The lightweight Aliadiere was a disappointing replacement for Henry - and United had made best use of their chances. Giggs' movement and Ronaldo's trickery were constant threats.
Arsenal's frustration showed as Bergkamp went down, unsuccessfully, under John O'Shea's challenge and keeper Lehmann was booked for shoving Ronaldo as the ball ran out of play.
Keane clamped down on Vieira and referee Graham Barber spoke to both as their rivalry grew physical.
Wenger sent on Henry and Reyes in a 57th-minute double substitution. The Frenchman looked out of sorts, but Reyes provided Arsenal's rare moments of inspiration. Twice he dribbled past three tackles before running into one defender too many.
Tiredness began to haunt Ronaldo, who was repeatedly caught offside after replacing Solskjaer as United's lone striker.
But he received a deserved ovation from the fans when he was replaced by David Bellion six minutes from time.
Arsenal created few chances despite their pressure. Edu shot wide as Ljungberg screamed for a pass. That typified their second-half display.
Substitute Bellion even came within inches of netting United's second as Giggs' cross swung low across the box.
The Gunners mounted a grandstand finish, but Reyes stubbed weakly at their best chance, a minute into stoppage time. Henry's swipe, yards too high, was their last threat.
So United go on to face Millwall or Sunderland in Cardiff. They will start firm favourites against Division One opposition.
Arsenal still have a double to chase. Yet they looked leg-weary and ran out of ideas in the second period.
Chelsea, their Champions League opponents on Tuesday, will take heart from that, before the Gunners face testing Premiership games against Liverpool and Newcastle.
Those three contests could decide the fate of their so-far glittering season.
MAN OF THE MATCH: Wes Brown - calm and composed throughout, an inspiration to his United colleagues.