Dias, Bernardo both featured for the full 90 minutes while Cancelo – who spent last season on loan at Barcelona – was withdrawn late on as Roberto Martinez’s side came from behind to claim a thrilling late victory.
Lukas Provod had fired the Czechs into a 62nd minute lead totally against the run of play before Portugal drew level through a Robin Hranac own goal seven minutes later.
With time almost up, Portugal substitute Francisco Conceicao then struck in the second minute of injury time to seal a crucial comeback.
Competing in what was the last of the opening group stage fixtures, Martinez’s side dominated affairs from the start at a rain lashed Leipzig Stadium.
And it was Dias who struck with the first real meaningful Portugal chance on 22 minutes, his 22nd minute shot from outside the box being deflected wide for a corner.
Bruno Fernandes then came close with a sweetly struck shot from 25 yards that just whistled over the bar.
With the Portuguese effectively camped in the Czech half only a fine save from keeper Jindrich Stanek denied Cristiano Ronaldo – appearing in his sixth Euros – from breaking the deadlock on 34 minutes.
And the Czech keeper was there again to deny Portugal skipper Ronaldo in first half injury time, diving low to keep out a close range shot.
Martinez’s men sought to up the ante in the second half with Stanek denying Ronaldo’s dipping 57th minute free kick while only a last-ditch block prevented Bernardo finding the unmarked skipper after a superb Cancelo inside pass.
But out of nowhere it was the Czechs who made the breakthrough with a stunning 63rd minute shot from Lukas Provod with what was their first meaningful effort on goal.
The Portuguese failed to clear the initial danger and Slavia Prague’s Provod made them pay, curling a brilliant 25 yard shot into the corner of the net.
Portugal though responded in quick fashion, drawing level on 69 minutes in slightly fortuitous fashion through a Robin Hranac own goal.
Some smart promoting from Bernardo created the initial danger before a whipped cross from Vitinha was met by Nuno Mendes’ header. Stanek could only parry the ball and it rebounded off Hranac into the unguarded net.
Thomas Soucek saw an 82nd minute effort dribble wide for the Czechs but it was Portugal who conjured up a dramatic late, late winner after having seen an 87th minute Diogo Jota strike ruled out for offside after a VAR check.
However, in the second minute of injury time Portugal did make their pressure tell.
Substitute Pedro Neto fired in a low cross from the left, it was initially blocked but the rebound fell perfectly to fellow sub Francisco Conceicao who made no mistake from eight yards on what was his competitive debut.
Portugal are next in action on Saturday, June 22 when they take on Turkey, who beat Georgia 3-1 earlier on Tuesday, in Dortmund.
Kick-off is scheduled for 17.00pm (UK).