League Two Grimsby Town reached the FA Cup quarter-finals for the first time in 84 years as two penalties either side of half-time stunned Premier League strugglers Southampton.
Gavan Holohan put the visitors ahead shortly before the interval after referee Thomas Bramall ruled Lyanco had blocked Josh Emmanuel's cross with his arm.
Southampton defender Duje Caleta-Car then caught Danilo Orsi with a flailing hand not long after the restart, allowing Holohan to convert his second spot-kick of the game.
Caleta-Car's close-range finish gave Saints hope and Theo Walcott had a late equaliser ruled out for offside as Grimsby held on to spark scenes of mass celebration among the 4,000 travelling Mariners fans, who can now look forward to a trip to Brighton in the last eight.
Grimsby are just the sixth team from the fourth tier or below to reach the last eight of the FA Cup Cup since the introduction of the division in 1958-59 - and the first since National League Lincoln City shocked Premier League Burnley in 2017.
They are the 13th side from the fourth division or below to have beaten top-flight opponents in the competition since the Football League was rebranded at the start of the 2004-05 campaign.
Dreamland for Mariners
Having beaten Plymouth Argyle, Cambridge United, Burton Albion and Luton Town in their previous rounds, Grimsby can now look forward to a first quarter-final since the 1938-39 season after a remarkable victory over the Premier League's bottom club.
The final whistle was met by a mix of jubilant cheers from the away end and loud boos from the home supporters, whose wretched season took another downturn against a side sitting 64 places below them in the league pyramid.
Saints interim manager Ruben Selles made nine changes to the team beaten by Leeds United in the Premier League on Saturday, and those alterations appeared to contribute to a lack of fluency in the hosts' play in the first half as they struggled to break down their plucky opponents.
Sekou Mara should have done better when he shot straight at former Southport goalkeeper Max Crocombe from Romeo Lavia's pass, although the Southampton striker might have been penalised for offside had he managed to find the net.
Mara was denied a goal by the linesman's flag after steering Moussa Djenepo's cut-back past Crocombe, the Saints winger ruled offside in the build-up to the relief of the travelling supporters behind the goal.
The 4,000-strong Grimsby contingent who made the 460-mile round trip to the south coast had little to shout about until five minutes before the interval, when Emmanuel's delivery struck Lyanco on the arm.
An agonising wait followed as VAR reviewed the incident, but Bramall was eventually called over to his pitchside monitor by VAR and after watching the moment of contact from several angles, he pointed to the spot.
Holohan made no mistake, sending Southampton goalkeeper Alex McCarthy the wrong way to send the Grimsby fans wild at the other end of the ground.
Things went from bad to worse for Saints in the opening stages of the second half as Caleta-Car inexplicably swung an arm at Orsi inside the penalty area, giving Bramall little choice but to award another penalty.
For the second time in the game Holohan sent a magnificent spot-kick past McCarthy to put the Mariners on the brink of an astonishing upset.
After Caleta-Car's finish set up a nail-biting final 25 minutes, Southampton thought they had restored parity when Walcott slotted home in the closing stages, but the former Arsenal man was ruled narrowly offside following another VAR review.
Player of the match
KhouriEvan Khouri
Southampton
Squad number8Player nameWard-Prowse
Squad number1Player nameMcCarthy
Squad number32Player nameWalcott
Squad number2Player nameWalker-Peters
Squad number45Player nameLavia
Squad number19Player nameDjenepo
Squad number7Player nameAribo
Squad number9Player nameA Armstrong
Squad number15Player namePerraud
Squad number6Player nameCaleta-Car
Squad number23Player nameEdozie
Squad number11Player nameOrsic
Squad number26Player nameAlcaraz
Squad number53Player nameBallard
Squad number4Player nameLyanco
Squad number18Player nameMara
Grimsby Town
Squad number30Player nameKhouri
Squad number17Player nameMorris
Squad number8Player nameHolohan
Squad number11Player nameKhan
Squad number29Player nameTaylor
Squad number6Player nameWaterfall
Squad number7Player nameEmmanuel
Squad number3Player nameDriscoll-Glennon
Squad number15Player nameClifton
Squad number16Player nameHunt
Squad number31Player nameMaher
Squad number10Player nameMcAtee
Squad number20Player nameOrsi
Squad number2Player nameEfete
Squad number1Player nameCrocombe
Line-ups
Southampton
Formation 4-4-2
1McCarthy
2Walker-Peters4Lyanco6Caleta-Car15Perraud
19Djenepo26Alcaraz45Lavia11Orsic
18Mara9A Armstrong
1McCarthy2Walker-Peters4Lyanco6Caleta-CarBooked at 49mins15Perraud19DjenepoSubstituted forBallardat 86'minutes26Alcaraz45LaviaSubstituted forWard-Prowseat 59'minutes11OrsicSubstituted forEdozieat 59'minutes18MaraSubstituted forWalcottat 67'minutes9A ArmstrongSubstituted forAriboat 67'minutesSubstitutes
3Maitland-Niles7Aribo8Ward-Prowse13Caballero23Edozie32Walcott37Bella-Kotchap53Ballard65DoyleGrimsby
Formation 3-4-3
1Crocombe
2Efete6Waterfall31Maher
7Emmanuel8Holohan16Hunt3Driscoll-Glennon
10McAtee20Orsi15Clifton
1Crocombe2Efete6Waterfall31Maher7Emmanuel8Holohan16HuntBooked at 32minsSubstituted forMorrisat 73'minutes3Driscoll-Glennon10McAteeSubstituted forKhouriat 82'minutes20OrsiSubstituted forTaylorat 66'minutes15CliftonSubstituted forKhanat 73'minutesSubstitutes
5Pearson11Khan13Battersby17Morris19Dickson-Peters22Amos26Smith29Taylor30KhouriLive Text
Match ends, Southampton 1, Grimsby Town 2.
Second Half ends, Southampton 1, Grimsby Town 2.
Foul by Kyle Walker-Peters (Southampton).
Evan Khouri (Grimsby Town) wins a free kick on the left wing.
Lyanco (Southampton) wins a free kick in the defensive half.
Foul by Evan Khouri (Grimsby Town).
Delay over. They are ready to continue.
Delay in match because of an injury Max Crocombe (Grimsby Town).
Attempt missed. Kyle Walker-Peters (Southampton) left footed shot from the right side of the box misses to the left. Assisted by Carlos Alcaraz.
Delay over. They are ready to continue.
Delay in match because of an injury Max Crocombe (Grimsby Town).
Attempt missed. Duje Caleta-Car (Southampton) right footed shot from outside the box is too high. Assisted by Kyle Walker-Peters.
Delay over. They are ready to continue.
Delay in match because of an injury Michee Efete (Grimsby Town).
Substitution, Southampton. Dominic Ballard replaces Moussa Djenepo.
Samuel Edozie (Southampton) wins a free kick in the attacking half.
Foul by Bryn Morris (Grimsby Town).
Substitution, Grimsby Town. Evan Khouri replaces John McAtee.
Delay over. They are ready to continue.
VAR Decision: No Goal Southampton 1-2 Grimsby Town.