Anderson took six for for 47 as Australia slumped to 136 all out inside 37 overs after winning the toss and batting in the overcast conditions that the Lancastrian has relished throughout his career.
At stumps, England were three runs adrift of Australia at 133 for three. Joe Root, who hooked fast bowler Mitchell Johnson for a fortunate six was 30 not out and recalled Yorkshire team-mate Jonny Bairstow one not out.
The under pressure Ian Bell had made a fluent 53 before giving his wicket away with a rash shot against off-spinner Nathan Lyon, whose two for three in two overs helped Australia limit the damage.
Earlier, Australia were indebted to opener Chris Rogers's 52, with their next best score Adam Voges's 16.
This was Rogers's ninth fifty in 11 Test innings and came after he was cleared to play following a balance problem in the inner ear.
It also proved the value of the 37-year-old Rogers's experience of seaming conditions gained during several seasons in county cricket.
At Lord's, where Australia hit back after England won the first Test in Cardiff by 169 runs, Anderson, 33 on Thursday, had been frustrated by a placid pitch with no sideways movement during a match return of none for 137.
But although Australia captain Michael Clarke had said he would bowl first if there was as much grass on the Edgbaston pitch today as he had seen on Monday, he nevertheless opted to bat after winning the toss.
The conditions were ideal for renowned swing bowler Anderson, who needed a mere eight balls to take his first wicket on Wednesday when David Warner was lbw on the back foot for two.
Recalled fast bowler Steven Finn, playing his first Test in two years after Mark Wood was ruled out with an ankle problem, then took two wickets for two runs in nine balls.
Steve Smith, the world's number one ranked Test batsman following his Test-best 215 at Lord's, fell for seven when squared up by a good length ball he edged low to England captain Alastair Cook at first slip.
Finn's excellent yorker then clean bowled Clarke for just 10. Australia had no answer to Anderson in the second session.
All-rounder Mitchell Marsh was caught behind for a duck and wicket-keeper Peter Nevill, retained despite Brad Haddin being available again after missing the second Test because of his daughter's ill-health, bowled for two when leaving the ball.