Czech Republic 1-0 Portugal
The visitors struck the crossbar three times before Jiří Skalák's 72nd-minute penalty earned the finals hosts a welcome victory.
Article top media content
• Jiří Skalák scores only goal on 72 minutes, converting a penalty
• João Cancelo, Iuri Medeiros and Rony Lopes all hit crossbar for visitors
• Czechs claim first win in four games against fellow finalists (2D 1L)
• Next U21 match at Stadion Eden will be finals opener: Czech Republic v Denmark
Jiří Skalák kept his cool from the spot midway through the second half as the Czech Republic broke their duck against fellow UEFA European Under-21 Championship finalists.
The tournament hosts had failed to win in three previous outings against sides that could compete with them this summer, and the wait looked set to go on amid sustained Portugal pressure in Prague. The visitors struck the frame of the goal three times but the Czechs held on, and when David Houska was upended by Daniel Fernandes, Skalák made no mistake.
Portugal certainly had their chances. Tomáš Koubek tipped Ricardo Horta's early long-distance effort over and João Cancelo beat two defenders before ratting the crossbar with a curling shot on 16 minutes. In an open game the hosts also created opportunities, with Tomáš Přikryl somehow missing an open goal with a free header and then sending a lob narrowly wide.
Back came Portugal as substitute Iuri Medeiros hit the bar with a beautiful strike from 30 metres, the ball bouncing down onto the goal line and to safety. When Rony Lopes also tested the woodwork when it appeared easier to score, after more good work from Medeiros just past the hour, Portugal must have known it was not their day.
Sure enough, Daniel Fernandes erred and Skalák calmly sent the ball to the keeper's right.
Czech Republic: Koubek; Jugas, Brabec, Baránek, Hybš; Takács (Petrák 61); Masopust (Skalák 61), Hrubý, (Trávník 83), Přikryl (Kalas 87), Zmrhal (Frýdek 61); Vydra (Houska 46).
Portugal: Daniel Fernandes; Esgaio (Rafa 46), Figueiredo, Tiago Ilori, João Cancelo; Ruben Pinto (Sergio Oliveira 58), Ruben Neves, Bruno Fernandes (João Teixeira); Tozé (Rony Lopes 46); Ricardo Horta (Mane 58), Bruma (Medeiros 43).