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.
Leaders of both the ruling BJD, and opposition BJP and Congress condemned the incident.
"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.