The Jets striker has fed on scraps for much of the season, but a penalty and a cool finish here takes his tally to eight - not bad for a team who have only scored 15 in total.
Scott Miller's side showed a tenacity in defence and a verve in attack which has often gone missing this season, and they were excellent value for their three points, even if they played the last 27 minutes against ten men after the dismissal of Jacob Melling.
City's star man Bruno Fornaroli headed his 15th goal of the season with about ten minutes to go to give City a sniff, but they were off-colour for most of the match.
The Jets' opening salvo really should have seen them take the lead.
A wonderful cross by Enver Alivodic landed on the head of Trifunovic, but he didn't make clean contact when many expected he would.
Alivodic tested Thomas Sorensen with a stinging drive, before City began to come into the game.
Aaron Mooy and Harry Novillo began to find space, but the Jets defence, marshalled by Nigel Boogard, stood firm.
City's strong finish to the half meant little without finding the back of the net, especially when the Jets took the lead from the spot.
Jason Hoffman's shot cannoned into Jack Clisby from close range - it could have been arm, or shoulder, but Trifunovic wasn't asking any questions and was cool as cucumber from the spot.
The goal was the catalyst for a sustained period of Jets pressure, and they created enough chances to put the game away.
A Trifunovic shot was smothered by the sprawling Sorensen, before the Newcastle striker had an effort cleared off the line by Michael Zullo.
John van't Schip reacted on the sideline, replacing Paulo Rettre with Nick Fitzgerald, but still it was Newcastle in the ascendancy, with Steven Ugarkovic going close from distance on his full debut for the Jets.
City went down to ten-men when Jacob Melling fouled Jets substitute Morten Nordstrand and referee Adam Fielding adjudged Melling to have prevented an obvious goal scoring opportunity.
Nordstrand was lively and it was he who helped wrap up the game, racing clear on the right before zipping a cross in for Trifunovic to finish, first-time past Sorensen.
Fornaroli's goal gave City hope but the Jets held their nerve for the final ten minutes.
Newcastle Jets 2 (Trifunovic PEN 47', 72')
Melbourne City 1 (Fornaroli 79')
Hunter Stadium, Newcastle
Referee: Adam Fielding
Referee: Adam Fielding