Both sides struggled to impose themselves in the early stages of the game, with chances on goal very scarce.
The away side began to look more comfortable, controlling possession and dominating the game, however it was Millwall who took the lead.
After 25 minutes played, Liam Trotter made it 1-0 somewhat against the run of play.
The game developed into a scrappy affair in the middle as the referee began to brandish yellow cards in a bid to regain control.
Andy Keogh then made it 2-0 to Millwall on 35 minutes after finding himself in the penalty area and blasting the ball into the post, before slotting in the rebound.
Middlesbrough pushed forward looking for a way back into the game and found one through a clumsy challenge from Nadjim Abdou, resulting in a penalty.
Marvin Emnes stepped up to take the spot kick and kept his cool to make it 2-1 and bring his side back into contention.
The away side began to push forward in a bid to get back into the game and did so on 43 minutes.
Middlesbrough won a penalty after a clumsy foul by Nadjim Abdou and Marvin Emnes kept his cool to make it 2-1 and bring his side back into the game by the break.
Boro were restricted to only half chances as they attempted to draw level in the second half. Grant Leadbitter's speculative shot flew over the bar, while Emnes's effort also missed the target.
Millwall grabbed a third goal to confirm the win as Keogh got his second of the game.
The final whistle blew at The Den with the score at 3-1.