Watford almost snatched victory at the very end of a drab game with Millwall when Almen Abdi rattled the crossbar.

Both teams had first-half chances, with the Hornets seeing Fernando Forestieri's inventive chip headed off the line by Mark Beevers.

Millwall's best effort saw Liam Trotter shave the post with a 30-yard shot.

Troy Deeney fired narrowly wide for Watford after the break but their chances dried up until Abdi hit the bar with another chip in the dying moments.

Watford will feel they could have won it late on, with Daniel Pudil also narrowly off target in injury time.

But Millwall had the better of the first-half chances and, before Trotter's effort skimmed the woodwork, Chris Wood had a goalbound effort blocked with Mark Beevers heading over from the resulting corner.

The Lions created a lot less in the second half, with both sides seemingly more worried about conceding than breaking the deadlock themselves.

The point leaves both sides on 20 points, four points off the Championship play-offs and eight points above the relegation zone.

Watford manager Gianfranco Zola: "I think it wasn't our best game in terms of quality, especially in the first half.

"In the second half we tried a bit to up the tempo but it's fair to say Millwall came over here and they played a good game, they defended very well and made it difficult for us. So sometimes you have to accept that.

"They haven't lost in the last eight games so that tells you a lot about their solidity and a good moment for this team."

Millwall boss Kenny Jackett: "The quality perhaps of our attacking play wasn't quite there tonight, the crispness of our passing.

"We didn't make the most of situations but on the other hand we ground out a very good draw against a side that give you problems.

"They're very comfortable on the ball, they can move it from one side of the pitch to the other and we also during the course of the second half come through losing two key players who have been very instrumental for us this season in Darius Henderson and James Henry.

"We wobbled for a few minutes and then came strong again and finished the game well. It was a good effort from the players."

Lineup, Bookings (5) & Substitutions (6)

Watford

  • 01 Almunia
  • 12 Doyley
  • 18 Pudil Booked
  • 27 Cassetti (Anya - 66' )
  • 31 Hoban
  • 39 Chalobah Booked
  • 40 Ekstrand
  • 08 Hogg Booked
  • 22 Abdi
  • 09 Deeney (Geijo - 83' )
  • 41 Forestieri (Vydra - 73' )

Substitutes

  • 30 Bond
  • 29 Thompson
  • 07 Yeates
  • 21 Anya
  • 28 Smith
  • 20 Vydra
  • 36 Geijo

Millwall

  • 01 Forde
  • 03 Shittu
  • 12 Lowry
  • 16 Beevers
  • 25 Smith Booked
  • 06 Trotter
  • 14 Henry (Wright - 53' )
  • 19 C Taylor Booked (Feeney - 88' )
  • 26 Abdou
  • 07 Henderson (Keogh - 54' )
  • 39 Wood

Substitutes

  • 33 M Taylor
  • 21 Smith
  • 27 Osborne
  • 28 Malone
  • 04 Wright
  • 15 Feeney
  • 20 Keogh
Ref: Ward
Att: 11,293

Match Stats

Shots

15 13

On target

6 5

Corners

4 2

Fouls

11 10

Live Text Commentary

90:00 +5:02 Full time

Full Time The referee blows for the end of the match.

90:00 +4:28

Andy Keogh delivers the ball, Chris Wood produces a left-footed shot from inside the area that clears the crossbar.

90:00 +1:29

Liam Feeney delivers the ball, Chris Wood takes a shot. Save by Manuel Almunia.

90:00 +0:53

Effort from the edge of the area by Daniel Pudil goes wide of the left-hand upright.

90:00 +0:32

Almen Abdi takes a shot.

89:26

Shane Lowry crosses the ball.

88:05

Josh Wright takes a shot. Save by Manuel Almunia.

87:11 Substitution

Substitution Liam Feeney comes on in place of Chris Taylor.

86:39

The ball is sent over by Almen Abdi, Adam Smith manages to make a clearance.

84:35

Jonathan Hogg produces a right-footed shot from the edge of the box and misses to the right of the target.

83:49

Andy Keogh has an effort at goal from deep inside the area missing to the right of the target.

82:26

Free kick taken by David Forde.

82:26 Substitution

Substitution Troy Deeney leaves the field to be replaced by Alexandre Geijo.

82:26

Danny Shittu fouled by Troy Deeney, the ref awards a free kick.

78:46

Troy Deeney takes a shot. Mark Beevers gets a block in. Matej Vydra takes a outswinging corner from the right by-line played to the near post, Andy Keogh makes a clearance.

76:17

The ball is sent over by Josh Wright, Chris Wood takes a shot. Save by Manuel Almunia.

76:17 Booking

Booking The referee cautions Nathaniel Chalobah for unsporting behaviour.

76:08

Foul by Nathaniel Chalobah on Adam Smith, free kick awarded.

74:50

Unfair challenge on Ikechi Anya by Shane Lowry results in a free kick. Almen Abdi crosses the ball from the free kick right-footed from right channel, Andy Keogh makes a clearance.

74:33

Nadjim Abdou challenges Almen Abdi unfairly and gives away a free kick.

74:04

Centre by Matej Vydra, David Forde makes a save.

73:26

Josh Wright challenges Jonathan Hogg unfairly and gives away a free kick. Manuel Almunia takes the free kick.

72:20 Substitution

Substitution Matej Vydra replaces Fernando Forestieri.

72:05

The offside flag is raised against Troy Deeney. David Forde restarts play with the free kick.

71:36

Outswinging corner taken right-footed by Almen Abdi, Shane Lowry makes a clearance.

70:41

Mark Beevers takes the free kick.

70:41 Booking

Booking Caution for Jonathan Hogg.

70:36

Shane Lowry fouled by Jonathan Hogg, the ref awards a free kick.

69:50

The ball is swung over by Ikechi Anya, save by David Forde.

69:11

Nathaniel Chalobah takes the direct free kick.

69:11 Booking

Booking The referee shows Chris Taylor a yellow card.

69:04

Chris Taylor challenges Ikechi Anya unfairly and gives away a free kick.

66:58

Effort from inside the area by Fernando Forestieri misses to the left of the goal.

65:15 Substitution

Substitution Marco Cassetti goes off and Ikechi Anya comes on.

64:53

The ball is swung over by Jonathan Hogg, Effort on goal by Troy Deeney from inside the area goes harmlessly over the bar.

64:23

Chris Wood fouled by Joel Ekstrand, the ref awards a free kick. Josh Wright restarts play with the free kick.

63:16

Adam Smith crosses the ball, Chris Taylor takes a shot. Save made by Manuel Almunia.

61:40

The ball is delivered by Daniel Pudil, Liam Trotter manages to make a clearance.

60:44

The ball is delivered by Shane Lowry, clearance by Tommie Hoban.

59:22

Adam Smith takes the direct free kick.

59:22 Booking

Booking Caution for Daniel Pudil.

58:14

Free kick awarded for an unfair challenge on Almen Abdi by Danny Shittu. Nathaniel Chalobah takes the direct free kick. Adam Smith fouled by Daniel Pudil, the ref awards a free kick.

56:20

Effort on goal by Andy Keogh from outside the penalty box goes harmlessly over the bar.

55:40

The referee blows for offside. Manuel Almunia restarts play with the free kick.

54:47

Shot by Troy Deeney from deep inside the penalty area misses to the left of the goal.

54:15

Daniel Pudil takes a shot. Blocked by Danny Shittu.

53:48 Substitution

Substitution Darius Henderson goes off and Andy Keogh comes on.

52:20 Substitution

Substitution James Henry goes off and Josh Wright comes on.

51:14

A cross is delivered by Daniel Pudil, David Forde makes a save.

50:58

Shane Lowry sends in a cross, save by Manuel Almunia.

49:22

Marco Cassetti delivers the ball, save by David Forde.

48:34

Chris Taylor produces a cross, save made by Manuel Almunia.

45:01

The match restarts for the second half.

45:00 +2:09 Half time

Half Time The players leave the pitch at half time.

45:00 +1:56

The ball is sent over by Marco Cassetti, save by David Forde.

45:00 +0:16

Daniel Pudil sends in a cross, save by David Forde. Fernando Forestieri takes a shot. Mark Beevers manages to make a clearance.

41:56

Mark Beevers gives away a free kick for an unfair challenge on Troy Deeney. Nathaniel Chalobah restarts play with the free kick. Joel Ekstrand takes a shot. Save made by David Forde.

41:39

Almen Abdi takes a shot. Save by David Forde.

39:47

Liam Trotter has an effort at goal from outside the box which goes wide left of the goal.

39:13

Shot from long range by Fernando Forestieri misses to the right of the target.

38:27

Troy Deeney concedes a free kick for a foul on Nadjim Abdou. David Forde takes the free kick.

36:01

A cross is delivered by Chris Wood, Daniel Pudil gets a block in. Corner taken right-footed by James Henry. Chris Taylor concedes a free kick for a foul on Marco Cassetti. Manuel Almunia takes the free kick.

35:08

The referee blows for offside. Lloyd Doyley restarts play with the free kick.

32:50

Marco Cassetti sends in a cross, clearance by Adam Smith. Corner taken by Fernando Forestieri from the left by-line played to the near post, Chris Wood makes a clearance. Corner taken by Almen Abdi from the left by-line played to the near post.

31:54

Daniel Pudil produces a cross.

31:00

Effort on goal by Darius Henderson from deep inside the area goes harmlessly over the bar.

29:16

Unfair challenge on Adam Smith by Almen Abdi results in a free kick. Direct free kick taken by James Henry. Marco Cassetti fouled by Shane Lowry, the ref awards a free kick. Manuel Almunia restarts play with the free kick.

28:32

Darius Henderson challenges Joel Ekstrand unfairly and gives away a free kick. Free kick taken by Manuel Almunia.

27:48

Free kick awarded for an unfair challenge on Chris Taylor by Almen Abdi. Shane Lowry takes the free kick.

26:43

Fernando Forestieri crosses the ball from the free kick right-footed from left channel, clearance made by Adam Smith.

26:43 Booking

Booking Adam Smith is cautioned.

26:37

Adam Smith gives away a free kick for an unfair challenge on Daniel Pudil.

17:25

Chris Wood takes a shot. Blocked by Lloyd Doyley. Inswinging corner taken right-footed by James Henry from the left by-line, Mark Beevers has a header from close in and clears the crossbar.

16:53

Free kick awarded for a foul by Tommie Hoban on Chris Wood. Free kick taken by Danny Shittu.

16:24

Darius Henderson is flagged offside by the assistant referee. Manuel Almunia takes the free kick.

15:00

Shane Lowry delivers the ball, blocked by Tommie Hoban. The ball is swung over by Shane Lowry, Tommie Hoban makes a clearance.

14:36

James Henry produces a cross, clearance by Marco Cassetti.

13:44

Marco Cassetti produces a right-footed effort from long distance that goes harmlessly over the bar.

11:57

Chris Taylor takes a shot. Blocked by Nathaniel Chalobah.

9:25

Troy Deeney takes a shot. Save by David Forde.

7:25

The official flags Chris Wood offside. Manuel Almunia takes the indirect free kick.

5:46

Jonathan Hogg gives away a free kick for an unfair challenge on Chris Taylor. James Henry has an effort direct from the free kick.

5:27

The ball is delivered by Almen Abdi, Nadjim Abdou manages to make a clearance.

4:19

Almen Abdi has shot on goal from just outside the area which goes wide of the right-hand upright.

1:46

Foul by Lloyd Doyley on Darius Henderson, free kick awarded. James Henry restarts play with the free kick.

0:00

The match has kicked off.

Live data and text provided by our data suppliers