Arsenal started brightly and had Boro stretched, the opening goal coming after only six minutes as Benik Afobe intercepted a poor ball along the Boro back line just outside the penalty area and tucked in.
The Gunners very nearly made it two a couple of minutes later but Ainsley Maitland-Niles was just off target with a low shot from the edge of the penalty area.
Impressive early work continued from the visitors with Kris Olsson sliding in to meet a right-wing cross and crash a shot against the bar, before Jayson Leutwiler saved well from Afobe.
Boro settled and finally got a foothold in the game, drawing level on 24 minutes when an excellent right-wing delivery from Adam Reach was powerfully headed home by Kei Kamara.
The Sierra Leone international was playing his first game since December 7, when he limped off at St Andrews with medial ligament problems.
Working tirelessly with Boro's medical staff, Kamara returned earlier than expected and played almost the full game today.
His second goal came on the stroke of half-time and a minute after Jonathan Burn had produced a fine challenge to deny Afobe on the edge of Boro's box.
Approaching the break, Boro played the ball well out of defence and Reach was picked out making a run wide on the right. A low cross was pulled into a central position 22 yards from goal and met by Kei Kamara whose low, drilled shot flew past Matt Macey.
It took just two minutes of the second half for Boro to increase their lead as Arsenal failed to clear a corner from the left and Faris Haroun struck low and hard on the angle eight yards out.
That ended the scoring but not the action as the only sub used by Arsenal, Alex Iwobi, proved to be a handful and had Leutwiler at full-stretch to turn away a low shot, before crashing another low effort against the post.
A well-worked Boro move ended when Cameron Park set up Luke Williams but he was denied when left with Macey to beat. The final chances fell to Kamara, who missed out on a hat-trick when volleying over from a Haroun cross, then shooting low at the goalkeeper before he was replaced, looking none the worse for wear, at the clock ticked past the 90-minute mark.
Boro U21s are next in action on Monday night when they are away to Manchester United.
Middlesbrough: Leutwiler; B Halliday, Burn, Weledji, Bennett, Morris, Reach, Haroun, Kamara (Kneeshaw 90), Park (Waters 86), L Williams (Jones 79). Subs: Coddington (gk); Kitching.
Arsenal: Macey; Yennaris, Ormonde-Ottewill, Hayden, Ajayi, Pleguezuelo, Maitland-Niles, Olsson, Afobe, Crowley (Iwobi 59), Eisfield. Subs: Moore, Iliev, Kamara, O'Connor.
Referee: Graeme Fyvie. There were no cards issued in this game.