Pulse together onion and garlic cloves in a food processor until finely chopped. Add parsley and cilantro and pulse again until herbs are also finely chopped. Add chickpeas, flour, cumin, coriander, cayenne, salt, pepper, and lemon zest. Pulse to blend thoroughly. Mixture should look like wet sand. Place in a bowl, cover, and allow to chill for 30 minutes to an hour.
Pour oil into a straight-sided, wide frying pan or pot. Oil should be about two inches deep. Heat oil over medium-high heat to 375ºF. Line a baking tray with clean paper towels. When oil is hot, shape falafel mix with hands into tight balls, about 2 inches in diameter. Use a slotted spoon to lower into oil. Fry in batches, several at a time, leaving lots of room. Frying too many at a time will reduce the temperature of the oil and create soggy, oily falafel. Fry for about 8 minutes total, turning once during cooking. Remove falafel from oil and let drain on paper towels.
Alternatively, you can bake falafel. Preheat oven to 400ºF and line a baking tray with parchment paper. Drizzle oil on parchment. Shape falafel into tight balls and arrange in rows on baking tray. Bake for about 12 to 15 minutes until brown on the outside. Serve hot or at room temperature.