League One Stevenage secured their place in the FA Cup fourth round by knocking out Championship strugglers Doncaster Rovers.

Francois Zoko fired Boro ahead from inside the area after the break.

Peter Hartley then headed in from a corner to double the visitors' advantage before Harry Forrester pulled a goal back with a left-footed strike.

FA Cup fourth round draw

When: Sunday, 5 January 2014

Where: Wembley Stadium

Time: 1400 GMT

Who: Cousins Martin and Paul Allen, who both played for West Ham, will make the draw after the Hammers face Nottingham Forest.

Fourth round dates: Ties to be played over the weekend of 25 and 26 January 2014

Darius Charles fired in from inside the box to make it 3-1 before Liam Wakefield's late consolation strike.

Stevenage's victory means Doncaster, who are 22nd in the Championship, have now failed to win since beating QPR in a league game on 30 November.

Rovers started brightly, with Mark Duffy and Chris Brown going close.

But Stevenage ended the first half on top, with Luke Freeman and Marcus Haber having chances to put the visitors ahead.

And four minutes after the restart Zoko slotted Graham Westley's side ahead after a mistake by Doncaster defender Paul Quinn.

Boro then doubled their lead through Hartley's 65th-minute header before Forrester's 25-yard volley gave the hosts hope.

But inside the final minute of normal time they were caught on the break as Charles added the visitors' third goal, converting Zoko's right-wing cross.

Wakefield found the net soon after but it was too late for Rovers to score again and force a replay.

Check out a photo gallery from all of today's FA Cup fixtures on the BBC Sport Facebook page. 

Lineup, Bookings (2) & Substitutions (6)

Doncaster Rovers

  • 01 Turnbull Booked
  • 15 Wakefield
  • 31 Stevens
  • 17 Woods
  • 02 Quinn
  • 12 McCullough
  • 07 Duffy
  • 04 Furman Booked (Paynter - 56' )
  • 09 Brown (Bennett - 73' )
  • 06 Syers
  • 11 Cotterill (Forrester - 56' )

Substitutes

  • 08 Paynter
  • 13 Maxted
  • 14 Khumalo
  • 21 De Val
  • 23 Bennett
  • 25 Forrester
  • 30 Peterson

Stevenage

  • 16 Day
  • 06 Jones
  • 29 Hartley
  • 24 Doughty
  • 05 Ashton
  • 04 Chorley
  • 07 Morais (Andrade - 75' )
  • 13 Parrett (Wedgbury - 75' )
  • 19 Haber (Charles - 78' )
  • 12 Zoko
  • 15 Freeman

Substitutes

  • 01 Arnold
  • 02 Wedgbury
  • 09 Charles
  • 10 Burrow
  • 11 Akins
  • 20 Smith
  • 25 Andrade
Ref: Scott Duncan
Att: 3,899

Match Stats

Shots

6 15

On target

4 10

Corners

1 9

Fouls

15 11

Live Text Commentary

Full time

Full Time Match ends, Doncaster Rovers 2, Stevenage 3.

90:00 +7:41 Full time

Full Time Second Half ends, Doncaster Rovers 2, Stevenage 3.

90:00 +6:55 Booking

Booking Ross Turnbull (Doncaster Rovers) is shown the yellow card.

90:00 +6:25

Michael Doughty (Stevenage) wins a free kick in the attacking half.

90:00 +6:25

Foul by Ross Turnbull (Doncaster Rovers).

90:00 +5:34

Foul by Francois Zoko (Stevenage).

90:00 +5:34

Martin Woods (Doncaster Rovers) wins a free kick in the defensive half.

90:00 +4:36 Goal scored

Goal! Goal! Doncaster Rovers 2, Stevenage 3. Liam Wakefield (Doncaster Rovers) right footed shot from a difficult angle and long range on the right to the top left corner.

90:00 +3:22

Attempt saved. Luke Freeman (Stevenage) right footed shot from outside the box is saved in the bottom right corner.

90:00 +2:33

Corner, Stevenage. Conceded by Luke McCullough.

90:00 +1:45

Bruno Andrade (Stevenage) wins a free kick in the defensive half.

90:00 +1:45

Foul by Enda Stevens (Doncaster Rovers).

90:00 +0:27 Goal scored

Goal! Goal! Doncaster Rovers 1, Stevenage 3. Darius Charles (Stevenage) right footed shot from the centre of the box to the bottom left corner. Assisted by Francois Zoko.

87:50

Corner, Stevenage. Conceded by Enda Stevens.

86:54

Attempt saved. Martin Woods (Doncaster Rovers) right footed shot from outside the box is saved in the centre of the goal.

85:29

Bruno Andrade (Stevenage) wins a free kick in the defensive half.

85:29

Foul by Enda Stevens (Doncaster Rovers).

83:47

Corner, Stevenage. Conceded by Liam Wakefield.

79:02

Corner, Stevenage. Conceded by Paul Quinn.

78:04

Foul by Francois Zoko (Stevenage).

78:04

Luke McCullough (Doncaster Rovers) wins a free kick in the attacking half.

77:22 Substitution

Substitution Substitution, Stevenage. Darius Charles replaces Marcus Haber.

75:27

Michael Doughty (Stevenage) wins a free kick in the defensive half.

75:27

Foul by Harry Forrester (Doncaster Rovers).

74:37 Substitution

Substitution Substitution, Stevenage. Sam Wedgbury replaces Dean Parrett.

74:32 Substitution

Substitution Substitution, Stevenage. Bruno Andrade replaces Filipe Morais.

72:41

Corner, Doncaster Rovers. Conceded by Peter Hartley.

72:15 Substitution

Substitution Substitution, Doncaster Rovers. Kyle Bennett replaces Chris Brown.

71:23 Goal scored

Goal! Goal! Doncaster Rovers 1, Stevenage 2. Harry Forrester (Doncaster Rovers) left footed shot from outside the box to the top left corner.

66:40

Foul by Marcus Haber (Stevenage).

66:40

Liam Wakefield (Doncaster Rovers) wins a free kick in the attacking half.

64:33 Goal scored

Goal! Goal! Doncaster Rovers 0, Stevenage 2. Peter Hartley (Stevenage) header from the centre of the box to the top right corner following a corner.

63:30

Corner, Stevenage. Conceded by Luke McCullough.

60:09

Corner, Stevenage. Conceded by Paul Quinn.

59:29

Attempt saved. Marcus Haber (Stevenage) header from the centre of the box is saved in the top left corner.

58:55

Luke Freeman (Stevenage) wins a free kick in the defensive half.

58:55

Foul by Liam Wakefield (Doncaster Rovers).

58:10

Attempt missed. Francois Zoko (Stevenage) right footed shot from the centre of the box is high and wide to the left.

57:48

Foul by Michael Doughty (Stevenage).

57:48

Martin Woods (Doncaster Rovers) wins a free kick in the defensive half.

55:59 Substitution

Substitution Substitution, Doncaster Rovers. Billy Paynter replaces Dean Furman.

55:42 Substitution

Substitution Substitution, Doncaster Rovers. Harry Forrester replaces David Cotterill.

55:06

Attempt saved. Marcus Haber (Stevenage) header from the right side of the six yard box is saved in the top centre of the goal.

54:54

Corner, Stevenage. Conceded by Ross Turnbull.

54:30

Attempt saved. Luke Freeman (Stevenage) right footed shot from the centre of the box is saved in the top left corner.

50:57 Booking

Booking Dean Furman (Doncaster Rovers) is shown the yellow card.

50:53

Luke Freeman (Stevenage) wins a free kick in the defensive half.

50:53

Foul by Dean Furman (Doncaster Rovers).

48:35 Goal scored

Goal! Goal! Doncaster Rovers 0, Stevenage 1. Francois Zoko (Stevenage) right footed shot from the centre of the box to the centre of the goal.

45:00

Second Half begins Doncaster Rovers 0, Stevenage 0.

45:00 +1:24 Half time

Half Time First Half ends, Doncaster Rovers 0, Stevenage 0.

45:00 +0:30

Foul by Luke Freeman (Stevenage).

45:00 +0:30

Liam Wakefield (Doncaster Rovers) wins a free kick in the defensive half.

42:57

Attempt missed. Jon Ashton (Stevenage) right footed shot from the centre of the box is too high.

42:20

Luke Freeman (Stevenage) wins a free kick in the defensive half.

42:20

Foul by Liam Wakefield (Doncaster Rovers).

40:25

Attempt missed. Luke Freeman (Stevenage) left footed shot from outside the box is close, but misses to the left.

40:09

Attempt saved. Luke Jones (Stevenage) header from the centre of the box is saved in the top centre of the goal.

39:28

Corner, Stevenage. Conceded by David Syers.

38:59

Corner, Stevenage. Conceded by Paul Quinn.

36:44

Foul by Ben Chorley (Stevenage).

36:44

Chris Brown (Doncaster Rovers) wins a free kick in the defensive half.

36:04

Attempt saved. Luke Freeman (Stevenage) right footed shot from the left side of the box is saved in the bottom right corner.

35:07

Foul by Filipe Morais (Stevenage).

35:07

Mark Duffy (Doncaster Rovers) wins a free kick on the right wing.

34:32

Dean Parrett (Stevenage) wins a free kick in the defensive half.

34:32

Foul by David Syers (Doncaster Rovers).

33:17

Luke Freeman (Stevenage) wins a free kick in the defensive half.

33:17

Foul by Paul Quinn (Doncaster Rovers).

31:44

Attempt missed. Marcus Haber (Stevenage) header from the left side of the box misses to the left.

31:03

Filipe Morais (Stevenage) wins a free kick in the defensive half.

31:03

Foul by Enda Stevens (Doncaster Rovers).

28:26

Attempt saved. Ben Chorley (Stevenage) header from the centre of the box is saved in the top centre of the goal.

27:41

Dean Parrett (Stevenage) wins a free kick in the defensive half.

27:41

Foul by Dean Furman (Doncaster Rovers).

25:51

Foul by Marcus Haber (Stevenage).

25:51

Martin Woods (Doncaster Rovers) wins a free kick in the attacking half.

24:24

Foul by Francois Zoko (Stevenage).

24:24

Dean Furman (Doncaster Rovers) wins a free kick in the attacking half.

23:33

Foul by Filipe Morais (Stevenage).

23:33

Enda Stevens (Doncaster Rovers) wins a free kick in the defensive half.

23:00

Peter Hartley (Stevenage) wins a free kick in the attacking half.

22:46

Foul by Chris Brown (Doncaster Rovers).

19:16

Attempt missed. David Cotterill (Doncaster Rovers) right footed shot from outside the box is too high.

18:24

Attempt missed. Dean Furman (Doncaster Rovers) right footed shot from outside the box misses to the left.

14:16

Attempt missed. Filipe Morais (Stevenage) left footed shot from outside the box misses to the right.

13:01

Jon Ashton (Stevenage) wins a free kick in the attacking half.

13:01

Foul by Chris Brown (Doncaster Rovers).

10:57

Attempt saved. Mark Duffy (Doncaster Rovers) right footed shot from outside the box is saved in the bottom right corner.

10:24

Foul by Jon Ashton (Stevenage).

10:24

Chris Brown (Doncaster Rovers) wins a free kick in the defensive half.

8:42

Peter Hartley (Stevenage) wins a free kick in the attacking half.

8:42

Foul by David Syers (Doncaster Rovers).

4:36

Jon Ashton (Stevenage) wins a free kick in the attacking half.

4:36

Foul by Chris Brown (Doncaster Rovers).

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers