They never recovered from that poor start and were second best for most of the match.
City were forced to make one change with Peter Enckelman starting in goal in place of David Marshall who suffered an ankle injury against West Brom.
Barnsley also had injury problems and made four changes following their midweek defeat to Scunthorpe.
The Bluebirds made a lively start with Chris Burke a threat down the right flank and they should have taken the lead from a Burke corner after two minutes when Michael Chopra lashed over from in front of goal.
But it was the Tykes who took the lead in the ninth minute when Hugo Colace threaded a pass through to Bogdanovic who raced into the area and slotted into the far corner.
Three minutes later Bogdanovic gathered another throughball, this time from Adam Hammill, before firing a first-time shot from 20 yards beyond Enckelman for his tenth goal of the season.
City looked in disarray and nothing like the team that fought so hard against West Brom in midweek. Barnsley won a succession of corners as their quick breaks put the home defence under pressure.
Ross McCormack replaced Aaron Wildig in the 35th minute as the Bluebirds looked to get back into the game.
Adam Matthews went on at the start of the second half for Anthony Gerrard who was injured a few minutes before the half-time whistle.
Peter Whittingham struck the base of the post with a free kick in the 46th minute as the half-time pep talk seemed to spur the Bluebirds on, yet it was the Tykes who came closest to scoring when Enckelman had to tip over a drive from Hammill.
The Barnsley defence had a charmed life as Luke Steele saved from Chopra and Gabor Gyepes in the 66th minute and then Gavin Rae hit the crossbar before the ball was cleared.
That was as close as the Bluebirds came to reducing the deficit and Barnsley ran out deserved winners.