The result has left Newcastle in eighth spot in the Premier League table, just one point behind sixth-placed Manchester United, while Fulham are 13th, boasting 39 points from their 32 matches this term.
Fulham had the first half-chance of the match inside the first two minutes, but Antonee Robinson's effort from outside the box was saved by Newcastle goalkeeper Martin Dubravka.
The home side remained on the front foot as the first period developed, with Willian striking wide in the 11th minute after having his initial shot blocked by Newcastle's Sean Longstaff.
Joao Palhinha then missed the target with a strike after smart work from Timothy Castagne, before Andreas Pereira had one deflected past the post, as the visitors continued to struggle.
Newcastle's first sight of the Fulham goal came in the 34th minute, with Anthony Gordon advancing towards the Fulham box before trying his luck, and the attacker's effort only just missed the target.
A mistake in the away side's defence handed Rodrigo Muniz an opportunity in the latter stages of the first period, but the Fulham forward fired straight at Dubravka.
Fulham had 10 attempts in the opening 45 minutes to Newcastle's two, with the Magpies, who lost Joe Willock to an injury in the 40th minute, failing to register a shot on target at Craven Cottage in the first half of action.
The visitors had the first half-chance of the second period, but Jacob Murphy lifted over the crossbar from a promising position.
Fulham took their time to get into the second half, but they came close to making the breakthrough in the 62nd minute, with Pereira's curling effort almost beating Dubravka.
Newcastle managed to find the back of the net in the 75th minute, with Fabian Schar firing home at the back post after Gordon had delivered a dangerous cross into the home side's penalty box.
However, the goal was disallowed by the referee following advice from VAR, with replays showing that Dan Burn had pushed Calvin Bassey before Schar fired home.
Eddie Howe's side were not to be denied, though, and registered in the 81st minute through Guimaraes, who found the back of the net from inside the box after the ball had fallen kindly for the Brazilian.
Newcastle went in search of a second late on, with Gordon missing the target from distance, but Fulham were unable to respond, with Guimaraes's effort deciding the contest.