The 21-year-old ran from deep before firing a low shot to score in the 23rd minute and the visitors doubled their lead in the 88th when Fabian Schar converted a penalty.
The win ensured a 12th-place finish for Newcastle, who moved up from 15th in the standings going into the final day.
Willock, on loan from Arsenal, is the youngest player to have achieved the feat, starting his scoring streak against Tottenham Hotspur at the start of last month.
He is the second Newcastle player to score in seven straight Premier League appearances after Alan Shearer in 1996.
Fulham, who got a loud cheer from the first crowd at Craven Cottage this season despite already being relegated, finished the season without a win in their final 10 league games.
They came 18th with 28 points, 11 points adrift of fourth-bottom Burnley.
Fulham's first chance fell to Fabio Carvalho just past the half-hour but his effort was blocked by Federico Fernandez. Straight afterwards, Carvalho came close with a powerful strike.
Willock was close to a second goal early in the second half but Fulham were the stronger of the two sides after the break and Carvalho should have equalised in the 56th minute.
He stole an errant back pass from Willock but, with just goalkeeper Martin Dubravka to beat, blasted wide in a horror miss to the frustration of the home fans.
However, it was Newcastle who finished with a second goal when Matt Ritchie was fouled by Kenny Tete and late substitute Schar converted the subsequent spot-kick.