Portugal, who won the first edition of the Nations League in 2019, lead Group 2 on 10 points, two ahead of Spain who were stunned by Switzerland 2-1 at home.
Portugal host Spain next Tuesday in their final group game.
Dalot opened the scoring on 33 minutes as he nutmegged Czech goalkeeper Tomas Vaclik from a cutback provided by Rafael Leao.
Dalot sprinted down the pitch, passed the ball to his right and dashed into the box to pick up Leao's pass from the left following a cross narrowly missed by Cristiano Ronaldo.
Bruno Fernandes made it 2-0 in first-half stoppage time as Mario Rui found him facing Vaclik with a low cross from the left.
A minute later, the hosts squandered a penalty kick as Patrik Schick fired over the crossbar after VAR spotted Ronaldo handling the ball inside the box.
"The first half was brilliant, it had an excellent quality," said Portugal coach Fernando Santos.
"We were perfectly ready for them and didn't really let them show much."
"When we scored the second, the Czechs failed to convert the penalty kick and grew even more nervous, while we stayed focused and were at ease."
Dalot added a second as he stunned Vaclik with a low left-foot shot from outside the area on 52 minutes.
Second-half substitute Diogo Jota headed home a late fourth from close range following a corner and Ronaldo's glancing header that found him at the far post.
Ronaldo failed to improve his record tally of 117 international goals and was left with a bloodied face after a clash with Vaclik early in the game.
"After the third goal, it was almost finished," said Santos, adding he expected a different game against Spain.
"Our tactics will not change, both teams want to win. It doesn't matter whether they lost or won today."