A superb free-kick routine slammed home by Fabio Ferreira 16 minutes from the end proved the difference and gave interim boss Tony Walmsley the ideal start.
City substitute Iain Ramsay almost salvaged a point for the visitors in stoppage time but was thwarted by a superb save from Liam Reddy at point-blank range.
The result is a huge lift for the Mariners in what has been a tough season and keeps their slim finals hopes alive - they are now just five points behind City who started the day in the top six.
Brisbane Roar earned a 1-0 win over the Western Sydney Wanderers in a rematch of last season's grand final thanks to a superb second-half strike from Brandon Borrello.
The Roar, who have picked up 13 points from their last five A-League games, were grateful to Borrello and the woodwork, which prevented Tomi Juric from claiming an injury-time equaliser.
It continued Borrello's impressive week, with the 19-year-old having also struck the winner in Brisbane's 1-0 triumph away to Urawa Red Diamonds in the AFC Champions League on Wednesday and set up Jean Carlos Solorzano's goal against Perth Glory last weekend.
An error-ridden first half saw more loose passes and offside calls than meaningful passing movements or clear goalscoring chances from either side, but Brisbane’s goal enabled the home team to take control of the game.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.