© Getty Images
Despite England enjoying plenty of early possession, it was the away side who struck first blood when Luca Morisi teed up captain Sergio Parisse to crash over after Italy had stolen an England lineout deep in their own territory.
A misfiring England were finally on the scoreboard on 20 minutes when George Ford stroked home a penalty after Haimona had been penalised for not rolling away.
Ford then drew a huge cheer from the Twickenham crowd when he elected to kick for touch rather than the posts with another mid-range penalty two minutes later.
Joseph skipped free of the Italy line to extend England's lead four minutes later as Lancaster's side recovered from their sluggish start, but Italy remained within touching distance.
A simple Ford penalty extended England's lead at the start of the second half, before Morisi broke the tackles of Dave Attwood and Haskell to go over, though Haimona's missed conversion kept the visitors eight points behind their opponents.
Quick thinking from Ben Youngs punished Haimona's carelessness and put England further ahead when he took a quick tap and go penalty and went over under the posts.
It was the score that broke the Italian resistance and prompted a flurry of tries from Lancaster's men.
Joseph's quick break took him over for his second try of the afternoon before replacement Danny Cipriani touched down just a minute after being introduced for Ford.
Fellow substitute Nick Easter was then forced over, becoming England's oldest Test try scorer at 36 years and 183 days.
A late try from the impressive Morisi provided his side with some consolation, but England deserved their win despite an up-and-down performance.