Liverpool miss out on the chance to move back into the Champions League places, after conceding a 95th minute equaliser to share the points at Anfield.
They opened the scoring early on through Salah and should have comfortably wrapped up the win, only to be superbly denied by Dubravka in the Newcastle goal.
The visitors grew into the game and eventually got their reward.
Wilson thought he had equalised in stoppage time, but it was ruled out for handball by VAR. However, Willock popped up a few minutes later to make it 1-1.
James Milner allowed himself to be outjumped by Dwight Gayle in the box, belatedly claiming a push, and the ball dropped to substitute Joe Willock in space eight yards from goal.
Fabinho lunged in to block and watched in horror as the ball deflected off him to prompt jubilation in the Newcastle dug-out where manager Steve Bruce embraced his goalscorer as Klopp looked on dumbstruck.
Liverpool move up to sixth in the table, a point behind Chelsea and West Ham who face each other later today. Next up for the Reds is a trip to Manchester United.
Meanwhile Newcastle are almost safe, they are now nine points ahead of Fulham in the final relegation spot and they face Arsenal next time out.