Sri Lanka were 182 for five at tea after being sent into bat, with Sangakkara 67 not out.
The left-hander could have been run out on nought and was then caught behind on 16, only for neither bowler Liam Plunkett nor wicketkeeper Matt Prior to appeal.
He was given a further life on 27 when Prior dropped a routine catch, again off Plunkett, and missed again on 57, when Moeen Ali failed to hold a far tougher chance at backward point.
Sangakkara's innings was his third score in excess of 50 in this two-match series, after he made 147 and 61 in the drawn first Test at Lord's, and sixth in a row.
More From This Section
Sri Lanka got through the first hour unscathed despite James Anderson and Stuart Broad repeatedly beating the outside edge after England captain Alastair Cook won the toss in overcast conditions offering swing.
But Kaushal Silva fell for 13 when caught behind by Prior off a full-length Anderson delivery.
However, Prior failed to gather Broad's shy at the stumps from mid-on.
Anderson, after a fine spell of one for 16 in 10 overs, was replaced by Plunkett.
The former Durham quick struck second ball when, from around the wicket, he knocked over left-hander Dimuth Karunaratne's leg-stump with a delivery that swung sharply.