Britain, able to settle for a draw, completed a semifinals lineup featuring the last six Olympic winners. The home side will face the Netherlands (1996, 2000), and Germany (1992, 2008) will tackle Australia (2004).
Spain, the Beijing Games silver medallist, thought it could steal the victory it needed to advance but in the last two minutes it had two penalty corners saved, a third cancelled on video review, and another penalty corner request rejected on a referral.
Spain coach Daniel Martin apologized for the absence at the news conference of distraught captain Ramon Alegre, who was afraid of saying something he might regret. But that didn't stop Martin.
"I'd like to congratulate Britain although the result was not given to them fairly," he said. He believed the umpires were bullied by Britain at the end to change their decisions.
"The umpires have stopped Great Britain from qualifying with the right honour," Martin said. "We are in a tournament with clear favourites and these countries are being favoured."
His counterpart, Jason Lee, understood Martin's anger, but disagreed.
"I think we just held out," Lee said.
Australia took less than six minutes to confirm its spot and rub out Pakistan's chances in Riverbank Arena. The Australians scored twice in that time en route to a 7-0 drubbing.
Their third win by five or more secured top spot in Pool A and a semifinal against Pool B runner-up Germany, the defending champion.
Germany advanced before its 5-5 draw with New Zealand, thanks to the Netherlands beating South Korea 4-2 in the day's opening match. The Koreans had to win to put pressure on the Germans, but soon found themselves down 2-0.
The Dutch men emulated their women in winning all five outings to head Pool B, and coach Paul van Ass welcomed a showdown with Pool A runner-up Britain.
"I like to win in the home country, in this case GB," Van Ass said.
Ashley Jackson scored for Britain against Spain, his team-leading fifth, by drag-flicking a penalty corner into the bottom right corner in the 37th minute. Spain levelled with 16 minutes to go through a penalty corner from Pau Quemada, who blasted into the lower left corner.
Also, Belgium beat India 3-0 for the first time in games history, securing a playoff for 5th-6th and their highest placing in the Olympics since the 1928 Amsterdam Games, where they were fourth. Faded eight-time champion India was already headed for the wooden spoon playoff, assured of its worst Olympic finish. South Africa will meet India after losing to Argentina 6-3.
Australia coach Ric Charlesworth said he would have been happy with a third straight draw, which also would have qualified the Kookaburras for the semis. Instead, his side took out their frustrations on Pakistan for blowing a 3-0 lead and drawing with Britain on Sunday.
Liam de Young knocked in a rebound off a fifth-minute penalty corner, and moments later Matt Butturini, on his 25th birthday, was fouled and Mark Knowles nailed a penalty stroke. Christopher Ciriello scored twice to make it 4-0 at halftime. Russell Ford, Jamie Dwyer, and Glenn Turner completed the rout.
"Now have to play Germany so we have a difficult game ahead of us," Charlesworth said. "Germany are physically bigger, stronger and push you."
Pakistan manager Akhtar Rasool Chaudhry blasted his players.
"Today was the worst game, and I have never seen Pakistan play like this before in my 43-year career," he said.
The Netherlands admitted they weren't sharp after already qualifying, but they were still a class above South Korea.
Mink van der Weerden's tournament-leading sixth score helped them to lead 3-0. South Korea closed to within one, although Nam Hyun-woo injured himself during his penalty corner goal and was carried off. Two minutes later, Billy Bakker ended the Koreans' revival.
"I am very confident about the way we are playing," Van Ass said. "The penalty corners are going very smoothly, the attack is going very well, as we like it. If we want we can score goals, so if we go behind we don't get nervous and stick to the plan."