Le chef de l'Etat sortant a obtenu 51,36% des suffrages contre 48,63% à l'académicien pro-européen Jiri Drahos, 68 ans, selon la télévision publique tchèque.
Favorable à un rapprochement avec Moscou et hostile à la politique d'accueil des migrants de l'Union européenne, Milos Zeman va entamer à 73 ans un second mandat de cinq ans.
Alliance
Il s'est allié avec le milliardaire Andrej Babis, dont le parti a remporté les législatives d'octobre dernier sans atteindre la majorité absolue, qu'il a chargé de former un nouveau gouvernement.
Milos Zeman a été un des rares dirigeants européens à soutenir la candidature de Donald Trump à l'élection présidentielle américaine de 2016.
Le chef de l'Etat, partage aussi avec d'autres gouvernements d'Europe centrale le refus d'accueillir des migrants en provenance de pays musulmans, même si la République tchèque n'a reçu que 116 demandes d'asile entre janvier et novembre l'an dernier.
reuters/pym