England, in their first Test since their 5-0 Ashes drubbing in Australia and with a new-look team including three debutants, thought they'd won when Stuart Broad had Pradeep given out lbw off the penultimate ball of the match. (Agencies)
But the batsman reviewed Australian umpire Paul Reiffel's decision and, with technology showing an inside edge, he was reprieved.
Sri Lanka, set 390 to win after England captain Alastair Cook declared before the start of Monday's play, finished on 201 for nine.
The match was meandering towards a draw until England spearhead James Anderson struck either side of tea on the way to a remarkable return of four wickets for 25 runs in 19 overs, but it wasn't quite enough to secure a stunning win.
Instead the result left the teams all-square ahead of Friday's second and final Test of the series at Headingley.
Sri Lanka appeared in little danger at 159 for two until Anderson took three wickets in 14 balls either side of tea.
First he had Mahela Jayawardene caught behind for 18, hanging out his bat. And he then dismissed Kumar Sangakkara, who in common with Jayawardene was probably playing his last Test at Lord's, for 61 when the left-hander played on driving loosely outside off stump.
His exit meant Sangakkara had fallen for under 100 for the first time in four Test knocks after his 147 in the first innings of this match followed scores of 319 and 105 against Bangladesh in Chittagong in March.
Lahiru Thirimanne never looked at ease and it was no surprise when he fell for two, edging Anderson to debutant Chris Jordan at second slip.
England thought Anderson had Prasanna Jayawardene lbw on nought.
But New Zealand umpire Billy Bowden ruled not out and with a replay showing the ball just grazing the stumps, his original verdict was upheld.
The wicketkeeper defied England for more than an hour-and-a-half until paceman Jordan speared one into his pads, with Bowden's decision overturned on this occasion.
And there were just under seven overs remaining when seamer Broad had Nuwan Kulasekara lbw.
Sri Lanka captain Angelo Mathews, who made 102 in the first innings, did his best to bat his side to safety.
But after more than two hours of resistance Sunday, he edged a full-length delivery from Anderson straight to Cook at first slip.
England now needed two wickets in the final three overs to claim a dramatic victory. And that was still the case come the last over, bowled by Broad.
To the very first ball of that over Rangana Herath was caught behind of the glove by wicketkeeper Matt Prior.
Then came the fifth ball drama before Pradeep, who together with fellow tail-ender Shaminda Eranga finished on nought not out, edged the final ball short of the slips.
Cook, predictably, declared on England's overnight 267 for eight after left-hander Gary Ballance had reached his maiden Test hundred in the final over of Sunday's play.
Zimbabwe-born Ballance, 24, remained on 104 not out, having helped England recover from the struggling position of 121 for six in only his second Test and in the key position of number three.
Cook's declaration left Sri Lanka needing to break the Lord's record for a winning fourth-innings total in a Test of 344 for one, requiring 342, set by the West Indies against England in 1984, for victory.
It was a target that Sri Lanka never looked like approaching in Monday's final 90 overs and England were left to wonder whether Cook should have declared late on Sunday, rather than on Monday.
England might also have been pondering their contribution to a slow over-rate by both teams at Lord's which saw 17 overs unbowled in the match.
England, in their first Test since their 5-0 Ashes drubbing in Australia and with a new-look team including three debutants, thought they'd won when Stuart Broad had Pradeep given out lbw off the penultimate ball of the match.