There was an early half-chance for Boro when Muzzy Carayol crossed from deep on the left. Ryan Brobbel did well to make contact but it was all he could do to direct his header at Mitchell Beeney.
Chelsea enjoyed a fair amount of possession in the open exchanges but generally only as much as Boro would allow and although Ambrose Gnahore was pacey down the left, he was well marshalled.
Boro played some controlled football and thought they had taken the lead with 15 minutes played.
Carayol had sent two snap-shots just off target but that was a signal of Boro's intent and when Merouane Zemmama cut through the middle it looked likely the deadlock would be broken. However, his shot hit the inside of both posts and was cleared.
Back came Chelsea in an open game. Gnahore burst down the left and crossed into the area but Christian Burgess was strong, as was Adam Jackson a few minutes later.
A low cross from Adam Nditi was cleared by Jackson for a corner, which when delivered caused few problems for Boro's goalkeeper Ben Wilson, who was playing while on trial from Sunderland.
Breaking quickly, Boro set up Luke Williams midway inside the Chelsea half but he was brought down. A quick free-kick ended at the feet of Carayol, who brought a decent save from Beeney with a low, curling shot on an angle from 10 yards.
Neat approach work set up another chance for Boro when Zemmama set up Williams, who shot from 20 yards, a decent strike that demanded a watchful eye from Beeney.
Half-time: Middlesbrough 0 Chelsea 0
There were just 35 seconds of the second half played when Paul Weldon edged in from the left and delivered a shot which was blocked.
But Boro didn't have to wait too long before they broke the deadlock as Carayol crossed from the left deep in the Chelsea half. A headed clearance fell to Ryan Brobbel, who controlled well before drilling home low from nine yards with 48 minutes played.
That pre-empted a period of Boro pressure without the reward of a further goal and it was the visitors who broke to create the game's next chance with John Swift grateful for a path opening in front of him. He delayed his option on the edge of the Boro box and the chance was lost.
Burgess, who was commanding throughout, twice snuffed out what proved momentary danger before Boro swiftly moved back on the offensive. A neat lay-off from Curtis Main set Brobbel away down the right but his return ball was just out of reach as it flew into the penalty area.
Burgess set up Jackson, whose header was diverted for a corner, then Beeney saved one-handed away to his left to stop a low shot from Main as Boro, still looking lively, pressed for a second.
That came with 13 minutes remaining as Zemmama, Brobbel and Andre Bennett combined to carve open a chance for Muzzy Carayol, who rifled home under pressure from seven yards.
In the final minute of normal time Chelsea nearly capitalised on a half-chance inside the Boro penalty area when Jesse Starkey went for goal from a narrow angle, only to see his effort crash back off the angle of bar and post.
This deserved win put Boro second in the table, four points behind Everton who have two games in hand.
Boro: Wilson; Bennett, Jackson, Burgess (Capt), Weldon, Brobbel, Zemmama, Rhoden, Carayol (Sirrell, 86), Main (Kneeshaw 86), L Williams (Park 83). Subs: Ripley (gk); Waters. Order of subs on 86: 1) Kneeshaw 2) Sirrell
Chelsea: Beeney; Dabo, Pappoe, Conroy, Nditi, Sswankambo, Musonda (Bangura 50), Swift, Lalkovic (Capt), Boga, Gnahore (Starkey 56). Subs: Killip, Muleba.
Referee: Iain Turner