Our take on events at The Den...
Millwall claimed another Premier League scalp on Sunday afternoon, as they advanced to the Fifth Round of The Emirates FA Cup at the expense of Watford, winning 1-0.
Steve Morison's winner five minutes from time ensured that The Lions will take their place in Monday's draw.
Neil Harris named an unchanged line-up from last Saturday's 1-1 Sky Bet League One draw with Bradford City, with Joe Martin promoted to the substitutes bench in place of Calum Butcher.
The game was only 20 seconds old when the first real action took place. Morison broke down the right-hand side and crossed into Lee Gregory, but unfortunately, he could only guide his effort onto the Watford crossbar.
The Lions forced a succession of corners in the early going as they pressured The Hornets defence, but Watford stood firm, despite efforts from Tony Craig and loanee Jake Cooper.
Adlene Guedioura weakly shot wide in the 17th minute in the visitors' first effort of note, but the midfielder nearly gave Watford the lead seven minutes later, as his free-kick bobbled its way just past Jordan Archer's post.
In the 35th minute, The Lions had a penalty appeal controversially turned down, as Lee Gregory's shot appeared to be blocked by a Hornet arm. In the ensuing chaos, Watford goalkeeper Costel Pantilimon went down injured and had to be stretchered off - he was replaced by Heurelho Gomes.
As six minutes of first-half injury-time began, a lung-busting run from Fred Onyedinma ended with a square ball agonisingly being flashed across the face of goal, but after the ball was returned into the box, Gregory's superb shot on the turn was tipped over by Gomes.
Akin to the first-half, the second was only seconds old as the ball dropped to Gregory around 12 yards out. However, his snapshot was sent over the bar.
The game evolved into more a stop-start midfield battle, but The Lions kept forcing the issue, with Shaun Williams having a shot blocked by Adrian Mariappa just outside the six-yard box.
Onyedinma caused The Hornets issues all afternoon and drew a foul from Miguel Britos shortly after the hour mark. Most of Millwall's chances were being created by the exciting winger and he nearly found Gregory with a cross twenty minutes from time, but Younes Kaboul's outstretched leg stopped the striker from slotting home.
That was to be his last involvement in the game, though, as he was replaced by Jed Wallace in the 71st minute, as part of a double substitution, with Shane Ferguson coming on for Aiden O'Brien.
The Lions kept coming, with Morison forcing a good save from Gomes with nine minutes remaining, following a Ferguson cross.
With five minutes to go, the deadlock was finally broken. Ferguson's inviting cross found Morison at the back post and the striker slammed his shot under the legs of Gomes to hand Millwall the lead.
The ball was bundled into The Hornets net once more on 88 minutes, but referee Atkinson blew up for an apparent handball in the melee.
Wallace forced a good save from Gomes as the atmosphere went up a notch, but it was Watford that almost snatched a replay, as Deeney found space on the edge of the six-yard box. However, a superb, goal-saving tackle from Byron Webster kept Archer's sheet clean.
After six nervous minutes of injury-time, Atkinson blew his whistle to an almighty roar from the crowd - Millwall are into the Fifth Round of The Emirates FA Cup.
Millwall: Archer, Cummings, Craig, Williams, Thompson, Gregory (Abdou, 90+5'), Onyedinma (Wallace, 71'), Webster, Morison, O'Brien (Ferguson, 71'), Cooper. Subs not used: King, Martin, Worrall, Romeo.
Scorer: Morison (85')
Watford: Pantilimon (Gomes, 42'), Britos, Kaboul, Mariappa, Doucoure, Guedioura, Sinclair (Deeney, 77'), Watson, Dja Djedje (Janmaat, 68'), Mason, Okaka. Subs not used: Prodl, Cleverley, Cathcart, Capoue.
Bookings: Britos, Mason, Doucoure
Attendance: 9,772 (2,322)
Referee: Martin Atkinson