For such a potentially incendiary fixture, bust-ups and bone-crunching challenges were conspicuous by their absence as players and staff alike kept their heads.
Mario Mandzukic put Croatia in front midway through the first half and Ivica Olic made it two at the break, with Serbia offering more in the second half but ultimately coming up short.
The win strengthened Croatia's position at the top of Group A with Belgium as Serbia slipped further off the pace.
This World Cup qualifying tie was first time the two countries have played each other in an international football match as independent states following the break up of the former Yugoslavia and the Croatian War of Independence.
There was plenty of history at Zagreb's Maksimir Stadium, the setting for a bloody riot in 1990 between fans of Red Star Belgrade and Dinamo Zagreb.
The respective managers, Croatia's Igor Stimac and Serbia's Sinisa Mihajlovic, captained opposing sides, Hajduk Split and Red Star, in the 1991 Yugoslavian Cup final as the war was breaking out. Both were sent off.
But both bosses, who have now buried the hatchet, called for calm ahead of Friday's match and both embraced at the final whistle of a match played in a good spirit.
There were only three bookings, the last two coming in the final five minutes.
There were no away fans at the stadium following an agreement between the two national federations that will be repeated in the return fixture in Belgrade - and in the first half they would have had little to cheer.
Croatia had a goal disallowed in the 15th minute, Mandzukic going up for a header with goalkeeper Zeljko Brkic and, although the ball ended up in the net, the referee gave a foul on the goalkeeper.
The hosts did not have to wait too much longer for the breakthrough, though.
Serbia gave away possession in their own half and the ball was stabbed through to Olic in the right of the area.
His pass across the six-yard line evaded two Serbia defenders and allowed Mandzukic to tap home the at far post for a 23rd-minute lead.
The Bayern Munich striker raced over to the bench to celebrate, making show of kissing the badge.
Both sets of players were keeping their emotions in check and Croatia had further reason to cheer in the 37th minute.
Aleksandar Kolarov was booked for a foul on Mandzukic. Darijo Srna swung in a teasing delivery from the right touchline and Brkic hesitated over whether to stay or come for it, allowing Olic to steal in and chest the ball in.
The visitors came racing out of the blocks in the second half, Kolarov bringing an athletic parry out of Stipe Pletikosa within two minutes of the restart.
At the other end Ivan Rakitic had a curling shot pushed away by Brkic, who then did well to save Niko Kranjcar's follow-up.
Pletikosa produced a fine double save to deny Filip Djuricic as Serbia continued to be frustrated.
Pletikosa denied Djuricic again with a fine parry in stoppage time before handshakes, as well as jubilant Croatian celebrations, greeted the final whistle.