(Middlesbrough win 3-1 on aggregate)
Keown was sent off for hauling down Maccarone
Middlesbrough made it to the Carling Cup final with a hard-fought win.
Boudewijn Zenden gave Boro the lead midway through the second half when he chipped the ball over goalkeeper Graham Stack in the Arsenal area.
Arsenal, who had Martin Keown sent off in the first half for a professional foul, hit back quickly when Edu headed home from close range.
But Boro sealed the tie late on when Jose Antonio Reyes deflected Stuart Parnaby's shot into his own net.
44 mins: Keown sent off for professional foul on Maccarone
69 mins: Zenden puts Boro in front
77 mins: Edu equalises for Arsenal
85 mins: Reyes deflects Parnaby's shot into his own net
Reyes was handed his first full start as Arsenal boss Arsene Wenger shuffled his side from the first leg in an attempt to overturn a 1-0 deficit.
In came Ashley Cole and Patrick Vieira, although Arsenal's captain was unable to boss the midfield in what was a scrappy first half.
Indeed, Middlesbrough enjoyed the best chances of the opening period with Massimo Maccarone particularly profligate.
The Italian striker wasted two glorious opportunities to extend Boro's advantage.
Maccarone fired wide when through on goal and then his goal-bound strike forced a brilliant reflex save from Graham Stack.
Just before the break, Boro did gain a numerical advantage when Keown was sent off for a professional foul after he brought down Maccarone.
The Gunners started the second half brightly and Reyes felt that he should have been awarded a penalty.
Reyes showed some good touches
The Spaniard raced onto Edu's through-ball and appeared to skip over the onrushing Mark Schwarzer, but referee Dermot Gallagher deemed that no contact had been made.
The Middlesbrough goalkeeper came to his side's rescue moments later when he blocked Kolo Toure's shot off his goalline.
There was little to chose between the two sides, but it was Boro who took the lead with a well-worked three-man move.
Maccarone, wide on the left, passed to Gaizka Mendieta whose measured first-time ball found Zenden, who dinked his shot over Stack.
Arsenal's riposte, however, was swift.
Vieira, who had a fierce shot saved by Schwarzer, jumped highest to meet a Reyes corner. The ball struck the upright and Edu reacted quickest to net the equaliser.
The goal set up a frantic finale, but Boro settled matters with five minutes to spare.
Parnaby ran onto Juninho's pass and his shot took a deflection off Reyes' boot after the Arsenal striker had tracked back to provide cover in defence.
Middlesbrough: Schwarzer, Mills, Southgate, Riggott, Queudrue, Greening (Parnaby 63), Mendieta, Doriva, Zenden, Maccarone (Job 70), Juninho Paulista.
Subs Not Used: Jones, Ricketts, Downing.
Arsenal: Stack, Toure, Keown, Cygan, Cole, Parlour, Vieira, Edu, Clichy (Owusu-Abeyie 81), Reyes, Bentley.
Subs Not Used: Taylor, Hoyte, Skulason, Smith.
Sent Off: Keown (45).
Referee: D Gallagher (Oxfordshire).