England, as hosts – and also as Olympic bronze medallists – were viewed as having quite a tough group, containing Olympic champions Pakistan, and a highly fancied Dutch side, with the Soviet Union seen as potential dark-horse outsiders. But in the event Pakistan failed badly, winning only a single group match against minnows New Zealand – blaming their poor play on failure to adjust to the AstroTurf surface, used in a major hockey tournament for the first time instead of grass. The Soviets scored surprise victories over both Pakistan and England, leaving England in danger of going out of their own tournament in the group stages: however they recovered to win their final match, against the Dutch. This left England, the USSR and the Netherlands all level on points with four wins and one loss each. England topped the group on goal difference with the Soviets to follow, the Dutch unfortunate to be in third.
In the other group, things were expected to be more straightforward, with West Germany and Australia (Olympic silver medallists and fourth place respectively) being the two favourites. Australia duly topped the group by defeating everybody except the Germans, with whom they drew: the Germans also finished the group undefeated to qualify comfortably in second place, though they also drew with Spain and India. The latter, hockey giants of the past, were nowhere near the same force in the present: in the play-offs for the minor places, India ended up losing both matches, including the 11th–12th place play-off to the otherwise hapless Pakistan.
The first semi-final, between England and West Germany, was an absolute classic. A replay of the semi-final of the 1984 Olympic tournament, won 1-0 by the Germans, meant that the English had a score to settle. England dominated most of the first half, but in the end had only one goal to show for it, scored by star centre-forward Sean Kerly. In the second half, the Germans found their form, equalising from a penalty corner, and then going into the lead with a smart strike from their captain, Heiner Dopp. The remainder of the match was end-to-end stuff as England pressed hard for an equaliser. Several times they came close from both open play and penalty corners: shots whizzed past the post, crosses were desperately intercepted, the keeper himself made a few useful saves – but the Germans were themselves dangerous on the breakaway. Fischer thought he had scored a German third from a penalty corner, but it was disallowed as the ball flew dangerously high off his stick: Dopp, too, nearly scored another, but was denied by a last-ditch deflection from England's own captain, Richard Dodds. Finally, in the last minute, with England on the verge of going out, they were awarded a penalty corner, from which Paul Barber scored an equalizer – almost blocked by a German stick, but it deflected into the roof of the net, forcing extra time. The extra period was as thrilling as the last minutes of the main game, both sides going for all-out attack: the game was finally settled by another English penalty corner, from which Barber scored an action-replay of his earlier goal to send England into the final.
The second semi-final, after all that, was an anti-climax, Australia hammering the Soviet Union by 5–0. The Soviets made a slightly better fist of the third-place play-off against the Germans, but in the end it was the Germans who clinched third place.
The final was also a rematch of sorts – England having defeated Australia in the Olympic third-place play-off, the Aussies were out for revenge. England started slowly, and Terry Walsh scored an early goal to put Australia into a deserved lead. England soon began to find their feet, with some typically mazy dribbles by Imran Sherwani threatening the Australian lines: but another goal soon followed for the Australians, this time against the run of play, from a penalty corner. This goal was in fact briefly disputed by England, who claimed that the shot had flown too high, above the back board of the net: but the referee ruled that it had brushed the goalkeeper's glove on the way, so the "too high" was counted as a deflection off an English player rather than a straight hit from the Australian scorer, and England were 2-0 behind at half-time. The second half was a more scrappy affair – England by and large having the greater amount of possession, but unable to create any significant chances against a well-drilled Australian defensive line. Late on in the game, a defensive error finally allowed Jon Potter in to score, but it was too little, too late: Australia hung on for a 2–1 victory.