Needing at least a draw to keep their Ashes defence alive, the tourists suffered a blow when they lost the toss, but they then removed Australian opener Matthew Hayden and captain Ricky Ponting in quick succession to lift their spirits.
To cap a spirited session for England, recalled-spinner Monty Panesar struck with what turned out to be the final ball before lunch on Thursday to have the home side firmly on the back foot.
Mike Hussey was not out on two with Michael Clarke yet to face a ball.
It was an admirable fightback from the English, who were on the back foot in the first hour of the session.
The home side got off to a busy start and were 47 for no wicket at drinks, but the English hit back after the break, claiming 3-22 in the next hour.
Matthew Hoggard (1-30) was the first to strike, pitching the ball up to Hayden (24) and getting it to do just enough to find the outside edge and provide a simple catch to wicketkeeper Geraint Jones.
The Australians were 47 for one and added just seven more runs before Ponting, the in-form batsman for the home side, was trapped lbw by Harmison for just two.
There was a slight question mark about the height of the delivery, but Harmison was elated to have an early victim after his woes in the first two Tests.
Panesar was brought on just before lunch and struck with the first ball of his second over.
The first ball Langer faced from the spinner spun past the outside edge of his bat and collected his off-stump.
Langer, who made 37, had been dropped by a diving Andrew Flintoff at second slip when he was on 28.
The dismissal of Hayden continued the big left-hander's lean run against England stretching back to the 2005 Ashes series.
Although he made a hundred in the fifth Test in 2005 at The Oval, Hayden has made only 430 runs in the last two Ashes series at just over 30.
Australia promoted all-rounder Andrew Symonds to replace Damien Martyn, with Mitchell Johnson named 12th man.
England made two changes, with left-arm spinner Monty Panesar and pace bowler Sajid Mahmood coming in for Ashley Giles, who was named 12th man, and James Anderson.
Australia 69 for 3 ( Justin Langer 37, Matthew Hayden 24; Panesar 1 for 0, Harmison 1 for 9, Hoggard 1 for 30) Vs England