His century made the 36-year-old the first man to score hundreds in three consecutive innings on three separate occasions in Tests.
England, however, still led by 160 runs after Joe Root's maiden Test double century had taken them to a total of 575 for nine declared.
Sangakkara was involved in partnerships of 97, 126 and 96 with Kaushal Silva (62), Mahela Jayawardene (55) and Sri Lanka captain Angelo Mathews (79 not out) respectively.
He was all assurance until caught behind off Moeen Ali to give the debutant off-spinner his first Test wicket.
"A hundred at Lord's is something I always wanted," the 36-year-old Sangakkara told Sky Sports.
"Coming on this tour, probably my last in England, I just wanted to enjoy it.
If it happened, I happened.
"Lord's is a very special place to play...
It feels very special to get on the