In a see-saw match Blyth trailed 1-0, led 2-1, were pegged back to 2-2 before netting a late winner.
Willington opened the scoring after 34 minutes, but a goal from Walker on 40 minutes made it 1-1 at half-time.
Just a minute into the second half Calvert fired the visitors 2-1 in front, but just two minutes later it was at square at 2-2 when Willington equalised.
Blyth had to wait until the 84th minute before they got the winner, with Waldon sealing all three points.
The victory lifts Blyuth up to 15th place in the table with 39 points from 37 games.
On Saturday they are home to Boldon, who are third in the division.
Bedlington Terriers’ away game against Tow Law was postponed on Saturday.
Their next game is not until Saturday, April 16, away to Boldon.
In the Northern Alliance, Seaton Burn beat Rothbury 2-1 at home in Division 1, whilst in Division 3, Newbiggin Central won 3-2 away to Blyth Town U23s to leapfrog Walker Central at the top of the table.
In the League Cup, Newbiggin lost 3-2 away to Whitley Bay Reserves, whilst Cramlington United won 2-1 away to Newcastle Chemfica.
Fixtures for Saturday are: League – Prudhoe YC Seniors v Seaton Delaval; Cramlington United v Newbiggin; Seaton Burn v Bedlington; Newcastle East End v Ashington Reserves; Seaton Sluice v Stobswood; Newbiggin Central v Walker Central: Blyth U23s v Fawdon.