Sri Lanka, following on, were dismissed for 119 in their second innings as England went 1-0 up in the three-match series.
Lancashire paceman Anderson took five for 29 which, added to his five for 16 in Sri Lanka's meagre first innings 91, gave him match figures of 10 for 45.
England wicket-keeper Jonathan Bairstow was named man-of-the-match for making 140 in England's total of 298 on his Yorkshire home ground and holding nine catches in the game.
Only Kusal Mendis with 53 offered much in the way of meaningful Sri Lanka defiance with the bat on Saturday. Sri Lanka resumed on one without loss with the overcast conditions that greeted them similar to those in which they had collapsed on Friday.
Dimuth Karunaratne avoided a pair but fell for seven when caught head-high by Bairstow after the left-hander got an outside edge to a near-unplayable Anderson ball that bounced and cut away off the seam.
The same combination then accounted for Kaushal Silva (14). Either side of the wickets, Mendis, who like Karunaratne made a first-innings duck, drove both Anderson and fast bowler Steven Finn for well-struck fours.
But he was fortunate on 23 when a hard edge off Anderson went through the hands of leaping third slip James Vince.
Mendis was reprieved again on 29 when he edged Finn only for a diving Bairstow, in a rare blemish this match, to drop the low one-handed catch.
And off what turned out to be the last ball before lunch, Mendis should have been out for 47 when he edged a seemingly comfortable chance off Broad to third slip only for Vince to again put him down.
Rain stopped play for more than two hours and when the match resumed, England captain Alastair Cook brought on off-spinner Moeen Ali.
His second ball saw Mendis get a thin glance, with Bairstow failing to hold the difficult legside chance. But Cook's gamble was rewarded two balls later when Dinesh Chandimal chopped an intended cut onto his stumps.
Mendis, whose innings was a mix of the streaky and the stylish, then clipped Anderson through midwicket for a boundary that saw him complete a 62-ball fifty including 10 fours.
Sri Lanka captain Angelo Mathews made a Test-best 160 when his side won at Headingley two years ago to claim their first series win in England and he top-scored for the tourists with 34 on Friday.
But he only managed five on Saturday before he was caught behind off Broad. And 93 for four became 93 for five after Mendis's luck ran out when, trying to leave an Anderson delivery, he deflected the ball onto his stumps.
Either side of tea, Sri Lanka lost their last seven wickets for 26 runs. Anderson, appropriately, ended the match by clean bowling retreating last man Nuwan Pradeep.