At that time Krpálek had been third in the world rankings and thus he had qualified for the 2016 Summer Olympics. Before the opening ceremony he was chosen by his fellow athletes as the flagbearer of the Czech team. Krpálek's Olympic campaign started on 11 August with a match against Jorge Fonseca of Portugal. Fonseca took an early lead after being awarded a yuko, but towards the end of the match Krpálek's physical superiority became apparent. In the last minute he had been awarded a waza-ari after a successful Sumi gaeshi, and won the match. Krpálek faced the Kazakh judoka Maxim Rakov next and won after his opponent was given two shidos. In the quarterfinals he fought against the reigning world champion Ryunosuke Haga of Japan. This match was similar to the previous one and after a careful performance, Krpálek won by a difference of one shido. Cyrille Maret was his opponent for the semi-finals. Throughout the match Krpálek stayed more active and led by one shido. With one minute remained he won by ippon through an Oseakomi waza. In the final Krpálek faced Elmar Gasimov. Both judokas tried to be active, but failed to score. Near the end Krpálek won by ippon via Ōuchi gari and became the Olympic champion. At the victory ceremony he paid tribute to his departed friend, judoka Alexandr Jurečka.