Stefan Maierhofer scored twice as Millwall climbed out of the relegation places and put paid to Middlesbrough's faint play-off hopes.

Maierhofer nodded in Lee Martin's cross at the far post and, after Millwall's David Forde saved from Danny Graham, repeated the trick to double the lead.

The hosts dominated the ball after the break, but Steve Morison should have done better on a rare counter-attack.

Emmanuel Ledesma's late free-kick was too little too late for Boro.

The result leaves them seven points short of sixth place, while Millwall are now one point and two places above the relegation zone.

Maierhofer, who signed for the Lions in March after leaving FC Koln as a free agent, had already headed into the side netting when the former Wolves striker met Martin's cross to open the scoring in 16 minutes.

The Austria international did not need to use all of his 6ft 8in frame for the second, stooping to nod in unmarked on the half-hour mark.

Middlesbrough's defence had failed to put pressure on Maierhofer for either goal, but the hosts looked as though they might force their way into match with long spells of possession after the break.

They struggled to create chances, however, and goalkeeper Dimi Konstantopoulos was forced into a save to push away Morison's low shot as he broke clear.

Ledesma's clipped free-kick, after a foul on Graham, halved the deficit, but Martin had a goal disallowed as Millwall finished on top.

Millwall manager Ian Holloway: "We had certain things to concentrate on and we did. We stuck to the game plan.

"I thought the two wide men - Martyn Woolford and Lee Martin - were excellent and the big lad, Stefan Maierhofer, got us in front with two good headers.

"I was actually disappointed not to win the second half because we had a few good chances to put the game to bed."

Middlesbrough manager Aitor Karanka: "We need to be much stronger if we want to build something for the future.

"What I have learned this season is that every time there has been talk and a possibility of the play-offs we have not performed and we have lost the next match.

"We need to change that mentality."

Lineup, Bookings (5) & Substitutions (6)

Middlesbrough

  • 13 Konstantopoulos
  • 11 Ledesma
  • 27 Adomah
  • 25 Omeruo
  • 39 Woodgate
  • 24 Chalobah
  • 07 Leadbitter (Main - 74' )
  • 18 Whitehead Booked (Friend - 85' )
  • 09 Graham
  • 10 Tomlin Booked
  • 06 Butterfield (Williams - 60' )

Substitutes

  • 01 Steele
  • 03 Friend
  • 08 Varga
  • 14 Williams
  • 15 Hines
  • 23 Main
  • 28 Morris

Millwall

  • 01 Forde Booked
  • 44 Edwards
  • 28 Malone Booked
  • 17 Williams (Morison - 62' )
  • 02 Dunne
  • 16 Beevers
  • 13 Martin Booked
  • 10 Bailey
  • 42 Maierhofer (Abdou - 73' )
  • 29 Garvan (McDonald - 85' )
  • 11 Woolford

Substitutes

  • 05 Robinson
  • 08 Easter
  • 09 Morison
  • 19 Jackson
  • 26 Abdou
  • 27 McDonald
  • 43 Bywater
Ref: Darren Bond
Att: 15,342

Match Stats

Shots

14 16

On target

4 7

Corners

2 8

Fouls

7 10

Live Text Commentary

Full time

Full Time Match ends, Middlesbrough 1, Millwall 2.

90:00 +4:18 Full time

Full Time Second Half ends, Middlesbrough 1, Millwall 2.

90:00 +1:11

Offside, Millwall. Scott McDonald tries a through ball, but Lee Martin is caught offside.

90:00 +1:07

Attempt saved. Scott McDonald (Millwall) right footed shot from outside the box is saved in the centre of the goal. Assisted by Steve Morison.

88:55

Foul by Emmanuel Jorge Ledesma (Middlesbrough).

88:55

Lee Martin (Millwall) wins a free kick in the defensive half.

87:46

Attempt saved. Martyn Woolford (Millwall) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Scott McDonald.

86:37

Corner, Millwall. Conceded by Kenneth Omeruo.

84:41 Substitution

Substitution Substitution, Middlesbrough. George Friend replaces Dean Whitehead.

84:29 Substitution

Substitution Substitution, Millwall. Scott McDonald replaces Owen Garvan.

83:43

Attempt missed. Curtis Main (Middlesbrough) left footed shot from outside the box is high and wide to the left. Assisted by Albert Adomah.

82:32

Attempt saved. Martyn Woolford (Millwall) left footed shot from the right side of the six yard box is saved in the bottom left corner. Assisted by Steve Morison.

81:32

Offside, Millwall. Owen Garvan tries a through ball, but Steve Morison is caught offside.

80:59

Offside, Millwall. Martyn Woolford tries a through ball, but Steve Morison is caught offside.

80:10 Booking

Booking David Forde (Millwall) is shown the yellow card.

79:51 Goal scored

Goal! Goal! Middlesbrough 1, Millwall 2. Emmanuel Jorge Ledesma (Middlesbrough) from a free kick with a left footed shot to the top right corner.

78:02

Danny Graham (Middlesbrough) wins a free kick in the attacking half.

78:02

Foul by Mark Beevers (Millwall).

77:27

Attempt blocked. Lee Martin (Millwall) right footed shot from outside the box is blocked.

75:27

Attempt saved. Martyn Woolford (Millwall) right footed shot from the right side of the box is saved in the bottom left corner. Assisted by Steve Morison.

74:15 Booking

Booking Lee Martin (Millwall) is shown the yellow card for a bad foul.

74:04

Albert Adomah (Middlesbrough) wins a free kick in the defensive half.

74:04

Foul by Lee Martin (Millwall).

73:39

Attempt saved. Steve Morison (Millwall) right footed shot from the centre of the box is saved in the centre of the goal. Assisted by Alan Dunne.

73:03 Substitution

Substitution Substitution, Middlesbrough. Curtis Main replaces Grant Leadbitter.

72:44 Substitution

Substitution Substitution, Millwall. Nadjim Abdou replaces Stefan Maierhofer.

72:10

Emmanuel Jorge Ledesma (Middlesbrough) wins a free kick in the defensive half.

72:10

Foul by Scott Malone (Millwall).

71:36

Corner, Middlesbrough. Conceded by Mark Beevers.

71:03 Booking

Booking Scott Malone (Millwall) is shown the yellow card for a bad foul.

70:56

Albert Adomah (Middlesbrough) wins a free kick on the right wing.

70:56

Foul by Scott Malone (Millwall).

70:08

Attempt blocked. Emmanuel Jorge Ledesma (Middlesbrough) left footed shot from outside the box is blocked.

69:01

Danny Graham (Middlesbrough) wins a free kick in the attacking half.

69:01

Foul by Alan Dunne (Millwall).

68:14

Kenneth Omeruo (Middlesbrough) wins a free kick in the defensive half.

68:14

Foul by Stefan Maierhofer (Millwall).

65:00

Kenneth Omeruo (Middlesbrough) wins a free kick in the defensive half.

65:00

Foul by Martyn Woolford (Millwall).

64:23

Attempt missed. Lee Tomlin (Middlesbrough) right footed shot from outside the box is close, but misses the top right corner. Assisted by Emmanuel Jorge Ledesma.

61:35 Substitution

Substitution Substitution, Millwall. Steve Morison replaces Shaun Williams.

60:09

Foul by Albert Adomah (Middlesbrough).

60:09

Shaun Williams (Millwall) wins a free kick in the attacking half.

59:45

Delay over. They are ready to continue.

59:33 Substitution

Substitution Substitution, Middlesbrough. Luke Williams replaces Jacob Butterfield.

59:00

Delay in match David Forde (Millwall) because of an injury.

58:45 Booking

Booking Lee Tomlin (Middlesbrough) is shown the yellow card for a bad foul.

58:36

Foul by Lee Tomlin (Middlesbrough).

58:36

David Forde (Millwall) wins a free kick in the defensive half.

57:56

Corner, Middlesbrough. Conceded by Shaun Williams.

56:26

Offside, Middlesbrough. Jacob Butterfield tries a through ball, but Lee Tomlin is caught offside.

54:20

Attempt saved. Dean Whitehead (Middlesbrough) left footed shot from outside the box is saved in the bottom left corner. Assisted by Emmanuel Jorge Ledesma.

48:43

Foul by Alan Dunne (Millwall).

48:43

Lee Tomlin (Middlesbrough) wins a free kick on the left wing.

47:28

Attempt missed. Stefan Maierhofer (Millwall) right footed shot from outside the box misses to the left.

46:41

Attempt blocked. Grant Leadbitter (Middlesbrough) right footed shot from outside the box is blocked. Assisted by Jacob Butterfield.

45:00

Second Half begins Middlesbrough 0, Millwall 2.

45:00 +3:12 Half time

Half Time First Half ends, Middlesbrough 0, Millwall 2.

45:00 +2:59

Attempt missed. Nicky Bailey (Millwall) right footed shot from outside the box misses to the left following a corner.

45:00 +2:32

Corner, Millwall. Conceded by Kenneth Omeruo.

45:00 +1:57

Nicky Bailey (Millwall) wins a free kick in the attacking half.

45:00 +1:57

Foul by Grant Leadbitter (Middlesbrough).

45:00 +0:31

Offside, Middlesbrough. Kenneth Omeruo tries a through ball, but Albert Adomah is caught offside.

43:52

Attempt missed. Jacob Butterfield (Middlesbrough) left footed shot from outside the box misses to the right. Assisted by Kenneth Omeruo.

43:39

Attempt blocked. Lee Tomlin (Middlesbrough) right footed shot from outside the box is blocked. Assisted by Grant Leadbitter.

41:48

Attempt missed. Dean Whitehead (Middlesbrough) left footed shot from the left side of the box misses to the left. Assisted by Danny Graham.

39:48 Booking

Booking Dean Whitehead (Middlesbrough) is shown the yellow card for a bad foul.

39:28

Martyn Woolford (Millwall) wins a free kick in the defensive half.

39:28

Foul by Dean Whitehead (Middlesbrough).

36:57

Attempt missed. Lee Tomlin (Middlesbrough) right footed shot from outside the box misses to the left. Assisted by Dean Whitehead.

35:04

Corner, Millwall. Conceded by Nathaniel Chalobah.

35:02

Attempt blocked. Martyn Woolford (Millwall) right footed shot from the right side of the box is blocked. Assisted by Scott Malone.

32:44

Foul by Scott Malone (Millwall).

32:44

Jacob Butterfield (Middlesbrough) wins a free kick in the defensive half.

31:43

Lee Martin (Millwall) wins a free kick on the left wing.

31:43

Foul by Kenneth Omeruo (Middlesbrough).

29:51 Goal scored

Goal! Goal! Middlesbrough 0, Millwall 2. Stefan Maierhofer (Millwall) header from the centre of the box to the bottom right corner. Assisted by Lee Martin with a cross.

27:21

Corner, Millwall. Conceded by Emmanuel Jorge Ledesma.

25:26

Offside, Millwall. Owen Garvan tries a through ball, but Lee Martin is caught offside.

23:57

Offside, Middlesbrough. Kenneth Omeruo tries a through ball, but Danny Graham is caught offside.

23:13

Attempt missed. Danny Graham (Middlesbrough) header from the centre of the box is close, but misses to the right. Assisted by Jacob Butterfield with a cross.

19:51

Foul by Lee Martin (Millwall).

19:51

Lee Tomlin (Middlesbrough) wins a free kick in the defensive half.

18:38

Attempt missed. Kenneth Omeruo (Middlesbrough) right footed shot from outside the box misses to the left.

18:35

Attempt saved. Lee Tomlin (Middlesbrough) left footed shot from the left side of the box is saved in the centre of the goal. Assisted by Danny Graham.

16:38

Attempt missed. Lee Martin (Millwall) right footed shot from outside the box is high and wide to the right. Assisted by Nicky Bailey.

15:17 Goal scored

Goal! Goal! Middlesbrough 0, Millwall 1. Stefan Maierhofer (Millwall) header from the centre of the box to the top right corner. Assisted by Lee Martin with a cross following a corner.

14:45

Corner, Millwall. Conceded by Albert Adomah.

14:32

Corner, Millwall. Conceded by Jacob Butterfield.

13:41

Attempt missed. Nicky Bailey (Millwall) left footed shot from outside the box misses to the right. Assisted by Shaun Williams.

13:25

Attempt missed. Owen Garvan (Millwall) left footed shot from the left side of the box misses to the right.

11:33

Stefan Maierhofer (Millwall) hits the right post with a header from a difficult angle on the right. Assisted by Lee Martin with a cross following a corner.

11:16

Corner, Millwall. Conceded by Jonathan Woodgate.

10:09

Attempt missed. Alan Dunne (Millwall) header from the right side of the six yard box misses to the right. Assisted by Lee Martin with a cross following a corner.

9:48

Corner, Millwall. Conceded by Dean Whitehead.

8:34

Foul by Lee Tomlin (Middlesbrough).

8:34

Shaun Williams (Millwall) wins a free kick in the defensive half.

6:30

Attempt saved. Danny Graham (Middlesbrough) left footed shot from outside the box is saved in the bottom left corner.

2:51

Offside, Middlesbrough. Jacob Butterfield tries a through ball, but Danny Graham is caught offside.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers