The trio were part of a small group that rode clear with two kilometres left.
Boom looked set for victory after leading out the final sprint but he faded allowing Stybar to snatch an unlikely win.
The 187 kilometre stage was made more tricky when strong winds caused the peloton to split when the route neared the coast.
Stage two winner Arnaud Demare (FDJ) remained top of the general classification although Boom pulled himself to within a second of the Frenchman after picking up valuable bonus points.
1. Zdenek Stybar (Cze) Omega Pharma-Quick-Step
2. Maximiliano Ariel Richeze (Arg) Lampre-Merida
3. Lars Boom (Ned) Belkin Pro Cycling
4. Giacomo Nizzolo (Ita) RadioShack Leopard
5. André Greipel (Ger) Lotto Belisol
6. Manuel Belletti (Ita) Ag2R La Mondiale
7. Danilo Napolitano (Ita) Accent Jobs-Wanty
8. Alexander Porsev (Rus) Katusha
9. Davide Appollonio (Ita) Ag2R La Mondiale
10. Jose Joaquin Rojas Gil (Spa) Movistar Team
1. Arnaud Demare (Fra) FDJ
2. Lars Boom (Ned) Belkin Pro Cycling
3. Zdenek Stybar (Cze) Omega Pharma-Quick-Step