© Getty Images
At one stage the Aussies were 143-5, but the duo helped improve the hosts' run-rate until Ben Stokes found the breakthrough by dismissing Haddin for 55 after his shot picked out James Anderson at mid-wicket.
The crucial dismissal put England on the front foot, but Smith was able to soak up the pressure and kept Australia rolling along by reaching his second Test century with a boundary through mid-wicket.
The tourists looked to the new ball to help grab another vital wicket before the close of play. Stuart Broad took it but failed to threaten Smith, despite the ball bringing some carry through to Matt Prior behind the stumps during the over.
Johnson (39) and Smith (103) will return to the crease tomorrow morning as England try to keep themselves in contention for The Ashes.