Selby were dismissed for 92 as Will Peet took 4-28. Neil Johnson then hit 51 as Heworth strolled home.
Sessay took 27 points from a draw at Goole to retain second place.
Sessay totalled 248-5 as Tim Hall made 66 and Joe Watson 62, before Goole responded with 180-8.
Whitkirk were limited to 158-8 by Acomb's Andy Tute (3-21) and Joe Dale (3-28) and then Tute hit 83, Harry Booth 33 and Matt Dale 39 in a nine-wicket win.
Hosts Bolton Percy were dismissed for 84 by Malton & Old Malton's Wayne Dawson (3-37) and Oliver Gilbank (5-21).
Bolton then bowled Malt out for only 78 as Andrew Brewster grabbed 5-17 and Jacob Green 3-27. Shaun Harland made 42.
Harry Walmsley took 3-27 and hit 45 to help Folkton & Flixton to a two wicket win over Driffield.
Pickering slipped to fourth after a 93-run home defeat to Bridlington, whose Casey Rudd cracked 118 in their 262-3.
The Pikes were all out for 169 despite Mark Shepherd's 34 and Tom Sigsworth's 25.