The chief minister escaped unhurt but the footwear hit his personal security officer.
The attacker was swiftly taken into custody by the security personnel, while the chief minister was escorted to safety.
The incident took place at Khumbhari village in Bijepur Assembly constituency when Mr Patnaik was addressing a meeting following a road show in Barpali.
The man has been detained at the local police station and is being questioned, police said.
The bypoll for Bijepur seat is scheduled for February 24.
"It is an unfortunate incident. It appears to be sponsored as the BJP is losing the election in Bijepur," BJD vice president and Odisha minister S N Patro told reporters in Bhubaneswar.
"We strongly condemn it. There is no place for violence in democracy," BJP spokesman Sajan Sharma said.
Congress spokesman Debasish Patnaik said the episode has set a bad trend in Odisha.
The incident comes three weeks after a woman hurled eggs at Patnaik while he was addressing a gathering during the Talasari beach festival in Balasore district on January 31.
Get the latest election news, live updates and election schedule for Lok Sabha Elections 2019 on ndtv.com/elections. Like us on Facebook or follow us on Twitter and Instagram for updates from each of the 543 parliamentary seats for the 2019 Indian general elections.