Doncaster striker Billy Sharp opened the scoring on an emotional night at the Keepmoat Stadium, but Middlesbrough came from behind to win.
Before kick-off Rovers announced that captain Sharp's two-day-old son had died on Saturday. The striker's response was to dedicate a stunning early volley to his memory.
Barry Robson's drive restored parity, and a mistake by Neil Sullivan allowed Marvin Emnes to grab a second.
Robson sealed the win with a penalty.
A minute's applause marked the tragically short life of Sharp's little boy Luey before kick-off and the forward sent fans at the Keepmoat Stadium into raptures when he netted a stunning dipping volley inside the first 15 minutes.
Sharp, who was named captain for the night, revealed a message to his son on a T-shirt underneath his Doncaster strip as he ran towards the home fans in celebration and referee Darren Deadman did not issue a yellow card.
Boro pulled level after 30 minutes when Robson was allowed a free run towards the Doncaster goal and he drove a 20-yard effort into the bottom corner.
New signing El-Hadji Diouf impressed in the opening exchanges, but an early strike was dealt with comfortably by Steele.
Tony Mowbray's side upped the tempo and were ahead in first-half stoppage time when Scott McDonald released Faris Haroun down the right. The Belgian's low cross was met by Emnes, whose close-range effort was weak but Sullivan fumbled and the ball trickled into his empty net.
Boro's third came with 66 minutes gone when former Scotland international Sullivan failed to hold a drive from Emnes, and although he managed to thwart Robson's follow-up, in the ensuing melee Pascal Chimbonda bundled Tony McMahon to the floor and referee Deadman pointed to the spot.
Sullivan guessed correctly, but Robson's well-struck penalty to the goalkeeper's left comfortably found the net.
Doncaster looked to respond late on through George Friend, who saw two long-range efforts well saved.
Live Text Commentary
Outswinging corner taken from the right by-line by Giles Barnes, George Friend takes a shot.90:00 +4:52
The ball is crossed by Giles Barnes, blocked by Joe Bennett.90:00 +4:34 Full time
Full Time The referee brings the game to a close.90:00 +3:17
Richard Naylor has a headed effort at goal from close in which goes wide right of the goal.90:00 +2:36
George Friend fouled by Barry Robson, the ref awards a free kick. Simon Gillett takes the direct free kick.87:25
Headed effort from inside the area by Shelton Martis misses to the left of the target.84:09
Tony McMahon fouled by Herita Ilunga, the ref awards a free kick. The free kick is delivered right-footed by Tony McMahon from right wing, clearance made by Giles Barnes.83:05 Substitution
Substitution Merouane Zemmama replaces Marvin Emnes.82:21
Centre by Barry Robson, Pascal Chimbonda gets a block in. Inswinging corner taken right-footed by Tony McMahon, clearance made by Shelton Martis.81:13
Scott McDonald produces a left-footed shot from just outside the area that goes harmlessly over the target.79:36
Effort from the edge of the area by Giles Barnes goes wide of the right-hand upright.77:39
Barry Robson gives away a free kick for an unfair challenge on Richard Naylor. Neil Sullivan takes the free kick.77:10
George Friend has an effort at goal from outside the penalty box missing to the wide right of the goal.76:13
Unfair challenge on Rhys Williams by James Coppinger results in a free kick. Free kick taken by Rhys Williams.75:28
Herita Ilunga produces a cross.74:25
James Coppinger takes a shot. Matthew Bates gets a block in.72:19 Substitution
Substitution Giles Barnes comes on in place of El-Hadji Diouf.72:19
Shot from outside the area by Kyle Bennett misses to the left of the goal.69:55 Substitution
Substitution (Middlesbrough) makes a substitution, with Julio Arca coming on for Nicky Bailey.68:58
Effort from the edge of the area by George Friend goes wide of the right-hand upright.
Free kick crossed left-footed by Barry Robson from right wing, save by Neil Sullivan.67:36 Booking
Booking The referee cautions Pascal Chimbonda for dissent.67:19 Booking
Booking Nicky Bailey booked for dissent.66:11
Shelton Martis challenges Nicky Bailey unfairly and gives away a free kick.65:35
Tony McMahon provided the assist for the goal.65:35 Goal scored
Goal! - Barry Robson - Doncaster 1 - 3 Middlesbro Penalty taken left-footed by Barry Robson and scored. Doncaster 1-3 Middlesbrough.63:38
Marvin Emnes takes a shot. Save by Neil Sullivan. Pascal Chimbonda concedes a Penalty for a foul on Tony McMahon.61:23
Shelton Martis concedes a free kick for a foul on Jason Steele. Jason Steele takes the indirect free kick.61:12
A cross is delivered by El-Hadji Diouf, Jason Steele makes a save.60:59
Short corner taken by El-Hadji Diouf.58:27 Substitution
Substitution (Doncaster) makes a substitution, with Kyle Bennett coming on for James Hayter.58:27 Substitution
Substitution James Coppinger replaces Ryan Mason.56:55
Outswinging corner taken right-footed by Ryan Mason played to the near post, Marvin Emnes manages to make a clearance.56:12
Free kick awarded for an unfair challenge on El-Hadji Diouf by Stephen McManus. Free kick taken by George Friend.55:56
The referee blows for offside. Neil Sullivan restarts play with the free kick.55:34
James Hayter gives away a free kick for an unfair challenge on Barry Robson. Jason Steele takes the free kick.55:04
Barry Robson crosses the ball, Faris Haroun produces a right-footed shot from the edge of the area and misses to the left of the goal.53:38
Scott McDonald takes a shot. Save made by Neil Sullivan.52:35
Marvin Emnes produces a cross, save by Neil Sullivan.49:05
Barry Robson takes the free kick.49:05 Booking
Booking George Friend goes into the book.49:01
Free kick awarded for an unfair challenge on Faris Haroun by George Friend.47:39
Inswinging corner taken right-footed by Ryan Mason from the left by-line, clearance made by Nicky Bailey.47:19
The ball is delivered by El-Hadji Diouf.46:50
Nicky Bailey takes a shot. Save made by Neil Sullivan.45:26
Faris Haroun takes a shot. Neil Sullivan makes a save. Billy Sharp gives away a free kick for an unfair challenge on Scott McDonald. Free kick taken by Jason Steele.45:01
The second half has started.45:00 +3:21 Half time
Half Time The referee blows for half time.45:00 +0:54
Faris Haroun provided the assist for the goal.45:00 +0:54 Goal scored
Goal! - Marvin Emnes - Doncaster 1 - 2 Middlesbro Marvin Emnes finds the net with a goal from inside the six-yard box to the bottom left corner of the goal. Doncaster 1-2 Middlesbrough.42:53
Short corner taken by Tony McMahon.41:26
Ryan Mason takes a shot from deep inside the box clearing the bar.39:56
Stephen McManus fouled by El-Hadji Diouf, the ref awards a free kick. Nicky Bailey takes the free kick.38:17
Shot from just outside the box by Scott McDonald goes over the crossbar.37:38
A cross is delivered by Tony McMahon, save by Neil Sullivan.35:52
The referee blows for offside. Free kick taken by Neil Sullivan.35:10
Free kick awarded for an unfair challenge on Nicky Bailey by Shelton Martis. Free kick taken by Jason Steele.33:41
Free kick awarded for a foul by Stephen McManus on Billy Sharp.33:38
Direct free kick taken by Herita Ilunga.33:38 Booking
Booking The referee shows Stephen McManus a yellow card for unsporting behaviour.33:01
Barry Robson sends in a cross, Header on goal by Stephen McManus from inside the box goes harmlessly over the target.32:03
Barry Robson takes the inswinging corner, clearance by Shelton Martis.31:48
Corner taken by Barry Robson from the right by-line to the near post, clearance made by James Hayter.29:46 Goal scored
Goal! - Barry Robson - Doncaster 1 - 1 Middlesbro Barry Robson gets on the score sheet with a goal from just inside the penalty area to the bottom left corner of the goal. Doncaster 1-1 Middlesbrough.29:43 Booking
Booking Richard Naylor is shown a yellow card.25:31
Barry Robson takes a shot from just inside the penalty box which clears the bar.24:53
The ball is delivered by Tony McMahon, Rhys Williams takes a shot. Save by Neil Sullivan.23:49
Joe Bennett concedes a free kick for a foul on James Hayter. Richard Naylor restarts play with the free kick.22:48
Matthew Bates challenges Billy Sharp unfairly and gives away a free kick. George Friend restarts play with the free kick.19:57
The referee blows for offside against Stephen McManus. Neil Sullivan takes the indirect free kick.19:57 Substitution
Substitution Faris Haroun on for Justin Hoyte.19:57
El-Hadji Diouf is flagged offside by the assistant referee. Jason Steele takes the indirect free kick.17:14
Corner taken by Ryan Mason from the right by-line to the near post, George Friend takes a shot. Blocked by Stephen McManus.15:50
Shot on goal by El-Hadji Diouf from just inside the area goes over the target.13:02
James Hayter provided the assist for the goal.13:02 Goal scored
Goal! - Billy Sharp - Doncaster 1 - 0 Middlesbro Billy Sharp gets on the score sheet with a goal from the edge of the penalty box to the top right corner of the goal. Doncaster 1-0 Middlesbrough.12:06
Free kick awarded for an unfair challenge on Billy Sharp by Barry Robson. Free kick taken by Richard Naylor.9:38
Close range header by George Friend misses to the right of the goal.8:45
Tony McMahon concedes a free kick for a foul on Billy Sharp. The free kick is swung in right-footed by Ryan Mason.8:14
The referee blows for offside. Neil Sullivan restarts play with the free kick.4:39
Jason Steele fouled by Billy Sharp, the ref awards a free kick. Free kick taken by Jason Steele.3:55
Free kick awarded for a foul by Rhys Williams on Herita Ilunga. Herita Ilunga restarts play with the free kick.2:29
Herita Ilunga challenges Tony McMahon unfairly and gives away a free kick. Tony McMahon takes the indirect free kick.0:20
James Hayter concedes a free kick for a foul on Barry Robson. Free kick taken by Nicky Bailey.0:00
The referee gets the match started.
Live data and text provided by our data suppliers