Mario Manduzkic opened the scoring midway through the first half for the hosts, before Ivica Olic doubled their advantage in the 35th minute to ensure Igor Stimac's side all three points.
It took until the 20 minute mark for the first clear cut opportunity to be mustered after Niko Kranjcar dragged his effort wide following some good link-up play between Luka Modric and Darijo Srna.
The hosts were the better of the two teams in the opening exchanges and deserved their goal in the 23rd minute after a defensive mistake by Aleksandar Kolarov was capitalised upon by Olic, the striker pressed forward and squared for Mandzukic to sidefoot into the Serbia net from six yards out.
Croatia made it 2-0 with 10 minutes of the first half remaining, as Olic turned goalscorer with the simplest of finishes having been picked out with Srna's free kick to chest in from close range.
Serbia finally sprung into life at the beginning of the second half through Kolarov, as the left-back strode forward and forced a good save from Stipe Pletikosa as the visitors looked to force a way back into the encounter.
Modric attempted to add a third in the 50th minute, but his long distance effort drifted wide as Croatia looked to wrap up all three points in the minutes after the restart.
The Real Madrid midfielder came closer moments later after pushing towards the Serbia goal and unleashing a teasing effort that drifted inches wide of Brkic's near post.
Ivan Rakitic and Olic both tested Brkic on the hour mark, as Croatia continued to press Serbia in a bid to add a third goal of the evening and secure three vital points in their quest to confirm their place at Brazil 2014.
Filip Djuricic forced Pletikosa into action with 15 minutes remaining after the Serbia midfielder saw his curling effort denied by the Croatia goalkeeper.
Croatia held out for the 2-0 win despite some late Serbia pressure to earn a deserved three points to move onto 13 points in Group A.