Trim ends of zucchini, then coarsely grate on large holes of a box grater. Press zucchini in paper towels to help remove moisture.
Heat olive oil in a 10-inch heavy skillet over moderately high heat until hot but not smoking and sauté zucchini, onion, and garlic, stirring until golden, 6 to 7 minutes. Remove skillet from heat and stir in basil, then let mixture cool to warm, about 15 minutes.
Lightly beat eggs. Add zucchini, salt, and pepper in a large bowl and combine carefully with a fork.
Heat butter in a medium skillet over moderately high heat until foam subsides and butter has a nutty fragrance. Add egg mixture, distributing zucchini evenly with a heatproof spatula, and cook, lifting up egg around edges occasionally to let any uncooked egg flow underneath, until egg mixture is set around edge, about 1 minute.
Reduce heat to moderately low and cook omelet until softly set but top is still moist, about 3 minutes.
Shake skillet to loosen omelet from pan, then slide omelet onto a large plate.
Wearing oven mitts, invert skillet over omelet, then holding skillet and plate together invert omelet, browned side up, into skillet. Cook omelet until underside is set, about 1 minute, then slide omelet onto a serving plate.
Adapted from Gourmet, August 2006