Milanovic of the opposition Social Democratic Party received 74.58% of votes, while his main rival, Dragan Primorac of the ruling Croatian Democratic Union (HDZ), gathered 25.42%.
Turnout in the elections was 44.15%, preliminary results showed.
"Croatia, thank you," Milanovic told his supporters.
"This is a big day for me personally, and I view this victory as recognition for my work, a kind of act of people's trust in me."
Earlier in the day, after casting his ballot in the capital Zagreb, Milanovic told reporters: "In the past five years I did my job in the best faith and I hope that people have seen that."
The Croatian head of state cannot veto laws but has a say in foreign policy, defence and security matters.
During his term, Milanovic, a populist former prime minister, has confronted Prime Minister Andrej Plenkovic over foreign and public policies, with the two frequently trading insults.