Media playback is not supported on this device
After an even first half, Southend almost scored with the first shot on target when Anthony Wordsworth's effort was cleared off the line.
The game looked to be heading towards a replay before Lions defender Romeo stabbed in the dramatic winner.
Southend nearly equalised but Marc-Antoine Fortune's shot was saved.
Millwall, mid-table in League One, go into Monday's second-round draw and will be hoping for a good cup run.
They reached the final of the competition 12 years ago, when they were beaten by Manchester United.
Millwall manager Neil Harris:
"I said to the boys at half-time there would be one moment of quality in the game and when it comes to make sure whoever it was grasped it. That's cup football. Mahlon certainly did that."
Southend boss Phil Brown:
"There was a division apart between the teams. We were the best side on the park and should be walking away in the draw."
Match ends, Millwall 1, Southend United 0.
Second Half ends, Millwall 1, Southend United 0.
Ryan Leonard (Southend United) is shown the yellow card for a bad foul.
Lee Gregory (Millwall) wins a free kick on the right wing.
Foul by Ryan Leonard (Southend United).
Attempt saved. Marc-Antoine Fortuné (Southend United) right footed shot from the left side of the box is saved in the centre of the goal.
Attempt missed. Shaun Williams (Millwall) left footed shot from outside the box misses to the left.
Attempt missed. Fred Onyedinma (Millwall) right footed shot from outside the box misses to the right.
Fred Onyedinma (Millwall) wins a free kick on the left wing.
Foul by Simon Cox (Southend United).
Goal!  Millwall 1, Southend United 0. Mahlon Romeo (Millwall) right footed shot from the right side of the box to the bottom left corner. Assisted by David Worrall.
Attempt saved. Ryan Leonard (Southend United) right footed shot from outside the box is saved in the centre of the goal.
Hand ball by Lee Gregory (Millwall).
Simon Cox (Southend United) is shown the yellow card.
Byron Webster (Millwall) wins a free kick in the attacking half.
Foul by Simon Cox (Southend United).
Attempt missed. Shaun Hutchinson (Millwall) right footed shot from the centre of the box is too high.
Corner,  Millwall. Conceded by Ryan Leonard.
Substitution, Southend United. Jakub Sokolik replaces Ryan Inniss because of an injury.
Corner,  Millwall. Conceded by Ben Coker.
Attempt saved. David Worrall (Millwall) right footed shot from the right side of the box is saved in the centre of the goal.
Substitution, Millwall. David Worrall replaces Shane Ferguson.
Substitution, Southend United. Jermaine McGlashan replaces Stephen McLaughlin.
Foul by Fred Onyedinma (Millwall).
Ben Coker (Southend United) wins a free kick in the defensive half.
Corner,  Southend United. Conceded by Shaun Hutchinson.
Attempt missed. Marc-Antoine Fortuné (Southend United) right footed shot from the right side of the box misses to the right.
Stephen McLaughlin (Southend United) is shown the yellow card.
Anthony Wordsworth (Southend United) is shown the yellow card.
Foul by Lee Gregory (Millwall).
Jason Demetriou (Southend United) wins a free kick in the defensive half.
Attempt missed. Ryan Leonard (Southend United) right footed shot from a difficult angle on the right is close, but misses to the right.
Attempt missed. Lee Gregory (Millwall) header from the centre of the box misses to the left.
Corner,  Millwall. Conceded by Jason Demetriou.
Corner,  Southend United. Conceded by Shaun Hutchinson.
Foul by Byron Webster (Millwall).
Stephen McLaughlin (Southend United) wins a free kick in the attacking half.
Attempt missed. Ryan Leonard (Southend United) right footed shot from more than 35 yards is too high.
Foul by Byron Webster (Millwall).
Marc-Antoine Fortuné (Southend United) wins a free kick in the defensive half.
Millwall won the opening FA Cup first-round tie of the season as Mahlon Romeo's late strike saw off League One rivals Southend at the Den.