It took 15 minutes for the game to render its first chance.
Prior to that both sides had probed without any degree of success, Boro looking more comfortable when going forward with Albert Adomah attempting to add flair to proceedings.
With a quarter-of-an-hour played Adam Clayton picked out Kike 10 yards from goal with a precision pass. The Spaniard had taken a good position but headed straight at David Forde.
Less than a minute after the first chance along came another, this time at the other end as Lee
Gregory latched on to a ball between the centre backs and shot low for goal, Dimi Konstantopoulos saving with his left leg.
Boro increased the pressure and in the same move Adomah had a shot blocked and Lee Tomlin had one cleared off the line.
The breakthrough came on 26 minutes as Boro swept forward cutting through with incisive play. Deep in Millwall territory Adomah smartly flicked into the path of Tomlin who crossed low, Kike stepped over the ball which fell to Patrick Bamford who clinically despatched a powerful shot beyond Forde from 12 yards.
Half-time Middlesbrough 2 Millwall 0
With Diego Fabbrini on the ball Millwall had a real creative element in their team and early in the second half a low cross/shot fizzed dangerously close to goal.
Boro went right back at their visitors and a powerful run from Adomah ended with a cross from the left which Leadbitter headed over under pressure from Shaun Williams.
Like Boro but for different reasons Millwall needed something from this game and there was nothing wrong with their attitude, they went for it.
It meant Boro were forced back at times, but each time they pressed forward they found space.
From what looked an easy to deal with free-kick delivered from deep and central by Leadbitter, Adomah volleyed low and wasn’t far away from adding a third for Boro as Forde saved low.
Boro didn’t have to wait too long before wrapping up the points.
Jelle Vossen scored his first goal for Boro at Millwall in December – and his second and third. Tonight, just five minutes after replacing Tomlin, he found himself in a good position as Forde saved a low shot from Friend, who along with fellow full-back Fredericks was excellent all night. A simple finish put Boro three up at the same time as Brighton scored a second to go two up at home to Derby.
It was as if to emphasise that Boro were indeed back top of the table.
With the game won, Aitor Karanka made two changes and there could have been a change in the scoreline too had one of the subs, Yanic Wildschut, not sliced wildly high.
Scorers Bamford 26, Kike 29, Vossen 78
Middlesbrough: Konstantopoulos; Fredericks, Kalas, Gibson, Friend (Capt. from 81), Bamford (Wildschut 81), Leadbitter (Capt to 81) (Forshaw 81), Clayton, Adomah, Tomlin (Vossen 73), Kike. Subs: Ripley (gk); Woodgate, Whitehead, Reach. Order of subs on 81: 1) Forshaw 2) Wildschut
Millwall: Forde; Dunne (Capt), Hooiveld, Hardy, Williams (Upson 65), Woolford, Abdou, Tonge (O’Brien 80), Fabbrini, Gregory (Fuller 65), Taylor-Fletcher. Subs: King (gk); Beevers, Nelson, Angel. Order of subs on 65: 1) Fuller 2) Upson
Referee Kevin Friend
Millwall Abdou 72, foul
Attendance 16,078 (162 Millwall)
Conditions Cool and dry with a light breeze
Possession Middlesbrough 61% Millwall 39%