116 runs in a swashbuckling morning session.
Clarke's love affair with Adelaide Oval continued as he raised his fourth ton from his last nine tests at the ground, which have also included two double-centuries and three 50s.
Fielding at short leg, Ian Bell put down a tough chance which would have seen Clarke dismissed for 91, when the Australian skipper charged down the wicket at spinner Swann only to nick it behind.
Appearing set for a third double-century in Adelaide, it was something of a surprise when Clarke was eventually dismissed, miscuing a drive off debutant all-rounder Ben Stokes to be caught by a diving James Anderson in close.
Haddin, dropped on five by Carberry on Thursday, could have been run out on 18 but for poor fielding and was granted another life on 30 when he sent an errant pull-shot high in the air only for Monty Panesar to pull up rather than dive for a catch.
Stokes later had Haddin caught behind on 51 only for his maiden test wicket to be taken away on review when it was shown he had overstepped the mark.
The hard-bitten 35-year-old rode his luck to blast his way to 118 with five sixes before nicking a catch to fellow wicketkeeper Matt Prior when flashing at a Stuart Broad delivery.
The knock continued Haddin's sparkling form with the bat following a 94 in the first test in Brisbane that resurrected Australia's first innings and his 53 in the second.
Paceman Harris notched his half-century with a delightful square cut to the fence and finished unbeaten on 55 after caning the England attack with six fours and two sixes.
Number 11 batsman Nathan Lyon also helped himself to a six and finished unbeaten on 17 at the declaration.
New Zealand-born Stokes finished with 2-70 from his 18 overs, with Broad England's best bowler with 3-98.
Recalled spinner Panesar was hammered for 1-157.
"To get the first wicket, a proud moment," 22-year-old Stokes said. "It has been a very tough two days. We've got to put that behind us now and focus on what's ahead, which is to bat long."