The other two places are still up for grabs with Sheffield United and Luton currently in fifth and sixth.
Friday 13th May will see sixth v third in the first leg, with a 7.45pm kick-off.
The fifth place side will host fourth the following day with a 3pm kick-off.
The all important second legs will see third host sixth on Monday 16th May, 7.45pm kick-off with the other tie being placed the following day, also with a 7.45pm kick-off.
Sheffield United host Fulham, who smashed Luton Town 7-0 in their last match, on the final day of the season.
The Hatters, who are two points ahead of Middlesborough with an inferior goal difference, entertain Reading, while Boro must win at Preston North End and hope for a slip-up.
The North East side are two points and two goals worse off than the Blades.
Millwall are not mathematically out of it, but would need an improbable set of results, with Luton losing, Boro failing to win and Sheffield United losing with a goal difference swing of six. They are five goals worse off but have scored fewer goals.