The Mariners became the first team this season to score twice against Sydney and came from two down to level at 2-2, despite a missed penalty from Fabio Ferreira.
Carney's 77th-minute stooping header at Central Coast Stadium had Mariners players and coaching staff screaming for an offside call that wasn't heeded.
Sydney, who lost centre-back Matt Jurman during the week to South Korean side Suwon Bluewings, had his replacement and stand-in skipper Sebastian Ryall limp off with a hamstring injury in the first five minutes.
Bobo's first brace for Sydney came five minutes either side of half-time after the visitors created most of the clear-cut chances.
He pounced on a flick header from Filip Holosko, controlling the ball with his first touch and drilled the ball home with his second.
Bobo doubled the visitors' advantage from a close-range tap in after a pass from impressive playmaker Milos Ninkovic.
Roy O'Donovan pulled one back with a 65th-minute header and Ferreira blazed a spot kick over the bar seven minutes later after Rhyan Grant fouled substitute Connor Pain.
Scott Galloway levelled after 76 minutes, but their joy lasted only a minute.
Josh Brillante replaced Ryall, with Brandon O'Neill shifting from midfield to centre-back.
Brillante picked up a yellow card in the second-half and will miss next week's Sydney derby against Western Sydney Wanderers, after collecting his fifth booking of the season.