Ivan Perisic gjorde mål tidigt i den andra halvleken och gav Kroatien ledningen mot Portugal i VM:s sextondelsfinal i Toronto.
Den 37-årige före detta Tottenham-yttern, som nu spelar för PSV Eindhoven, tog emot bollen omarkerad vid bortre stolpen och sköt in den förbi målvakten Diogo Costa.
Portugal dominerade bollinnehavet under den första halvleken men lyckades bara få ett av nio skott på mål. Cristiano Ronaldo var nära med flera nickar men fick ett mål bortdömt för offside.
Bruno Fernandes hade också två chanser som stoppades för det portugisiska laget. Kroatien, som var mindre dominanta i början, firade vilt efter ledningsmålet med stöd från de numerärt underlägsna fansen på arenan.
Ronaldo och hans lagkamrater behöver nu en vändning för att undvika att åka ut redan i den första utslagsrundan.