The rain started sometime after midnight, a steady drumming against the bedroom window that I felt more than heard. By the time the gray morning light crept through the blinds, the air in the kitchen had that particular damp chill that only an autumn Sunday can bring. And the only thing I wanted—the only thing that made sense—was this loaf. Not a cake, not a muffin, but a dense, forgiving banana zucchini bread with a crumbly streusel top that catches in the cracks of the pan and turns into little sugary cliffs. It’s the kind of recipe you make when you have three brown-speckled bananas on the counter and a zucchini you bought with good intentions, and you just need something warm to fill the house.
I found the original version of this recipe years ago, scribbled on a notecard from a friend’s grandmother. She called it “garden bread,” which always made me smile—because honestly, what garden ever produced a zucchini that didn’t need to be hidden inside something sweet? Over time I tweaked it, adding more banana for moisture (because nobody wants a dry loaf, especially not on a rainy morning), and building a streusel that actually stays crunchy instead of melting into the batter. That was the real breakthrough, honestly. The secret is in the butter temperature and the ratio of flour to sugar—too much butter and you get a paste; too little and it’s just sad sand.
This bread has gotten me through more quiet mornings than I can count. It’s not flashy or complicated, but it’s reliable. It fills the kitchen with the smell of cinnamon and warm banana, and the first slice—still steaming, with streusel shattering against the knife—tastes like patience. Like proof that good things come from using what you have. You don’t need a special occasion. You just need a little time and a couple of forgiving ingredients.
Why You’ll Love This Recipe
I’ve tested this banana zucchini bread more times than I care to admit—okay, I’ll admit it, I lost count after batch seven. But that’s the point. I wanted a loaf that was genuinely moist, not just damp in the middle and dry on the edges. One that would keep for days without turning into a brick. And this one delivers, every single time.
- Incredibly moist texture: The combination of ripe bananas and shredded zucchini creates a crumb that stays tender for days. No dry corners, no sad crumbling.
- Simple pantry ingredients: You probably have everything already—flour, sugar, eggs, oil, and that lone zucchini hiding in the crisper drawer.
- Perfect for busy mornings or lazy afternoons: It comes together in about 15 minutes of active prep, then the oven does the rest. Great for weekend brunch or a midday pick-me-up.
- Crowd-pleaser across all ages: Kids don’t even notice the zucchini (trust me, I’ve tested this on picky eaters), and adults appreciate the not-too-sweet crumb.
- That streusel topping is a game-changer: It stays crunchy, it adds texture, and it makes every slice feel like the end piece (which we all know is the best part).
What sets this apart from every other banana zucchini bread recipe out there is the technique—I shred the zucchini and then squeeze it just enough to remove excess water without drying it out completely. Most recipes skip this step, and you end up with a soggy loaf. Not here. Plus, the streusel is built with cold butter cut into the flour mixture, which keeps it from melting into the batter during baking. It’s a small detail, but it makes all the difference between a good bread and a great one.
This is the kind of recipe that makes you feel like you’ve actually accomplished something before noon. It’s comfort food that doesn’t require a trip to the store or a complicated technique. Just honest, good baking.
What Ingredients You Will Need
This recipe uses simple, wholesome ingredients that work together to create a loaf that’s moist, flavorful, and topped with that irresistible crunchy streusel. Nothing fancy, nothing hard to find—just the stuff you probably already have in your kitchen.
- Ripe bananas: 3 medium, mashed (about 1½ cups). The riper the better—those brown-speckled ones that look past their prime are perfect. They add natural sweetness and moisture.
- Zucchini: 1½ cups shredded (about 1 medium zucchini). No need to peel it—the green flecks look pretty in the batter. Just wash it well.
- All-purpose flour: 1¾ cups (210g). For the bread itself. I use Gold Medal or King Arthur for consistent results.
- Granulated sugar: ¾ cup (150g). Adds sweetness and helps with browning.
- Brown sugar: ¼ cup (50g), packed. Adds depth and keeps the bread tender.
- Baking soda: 1 teaspoon. For lift.
- Baking powder: ½ teaspoon. Extra insurance for a good rise.
- Salt: ½ teaspoon. Balances the sweetness.
- Cinnamon: 1 teaspoon. Warmth and flavor—non-negotiable in my opinion.
- Nutmeg: ¼ teaspoon. Optional but lovely. Gives it that cozy bakery smell.
- Eggs: 2 large, room temperature. They bind everything together.
- Vegetable oil: ½ cup (120ml). Keeps the bread moist without making it greasy. Canola or avocado oil work too.
- Vanilla extract: 1 teaspoon. Pure, not imitation, if you can swing it.
- Plain yogurt or sour cream: ¼ cup (60g). This is the secret ingredient for extra moisture. Greek yogurt works great too.
For the Streusel Topping:
- All-purpose flour: ½ cup (60g).
- Brown sugar: ¼ cup (50g), packed.
- Granulated sugar: 2 tablespoons.
- Cinnamon: ½ teaspoon.
- Cold unsalted butter: 3 tablespoons (42g), cut into small cubes. Straight from the fridge—this is crucial for crunch.
- Chopped walnuts or pecans: ¼ cup (optional but highly recommended). Adds extra crunch.
Ingredient Tips: For the zucchini, I recommend using a box grater or the shredding disc of a food processor. Don’t grate it too fine—you want little ribbons, not a paste. And for the bananas, if yours aren’t ripe enough, you can speed things up by baking them at 300°F for 15 minutes until the skins darken. Let them cool before mashing.
If you’re out of yogurt, you can substitute with buttermilk (just reduce the oil by a tablespoon) or even applesauce for a lower-fat option. The texture will be slightly different but still good.
Equipment Needed
You don’t need a fancy kitchen to make this bread. Here’s what I use, and what you can substitute if needed.
- 9×5-inch loaf pan: Standard size. Glass, metal, or ceramic all work—just adjust baking time slightly for glass (it tends to bake faster).
- Box grater or food processor with shredding disc: For the zucchini. A box grater is cheaper and works perfectly; just watch your knuckles.
- Large mixing bowls: One for dry ingredients, one for wet ingredients. I use stainless steel because they’re light and easy to clean.
- Whisk and wooden spoon or spatula: Whisk for dry ingredients, spoon for folding the batter. Don’t overmix—a spatula helps you fold gently.
- Measuring cups and spoons: For accuracy. I prefer metal measuring cups for dry ingredients—they’re more precise.
- Parchment paper: Lining the pan makes removal so much easier. I learned this the hard way after a stuck loaf crumbled into pieces.
- Cooling rack: Essential for even cooling. If you don’t have one, you can use the oven rack (turned off and cool) in a pinch.
- Pastry cutter or two forks: For cutting butter into the streusel. A pastry cutter is faster, but forks work fine.
Budget-friendly tip: If you don’t have a pastry cutter, you can use your fingertips—just work quickly so the butter doesn’t warm up. Also, skip the food processor; a box grater costs under $10 and lasts forever.
Preparation Method

Let’s get to it. This recipe comes together quickly, so I like to have everything measured and ready before I start. It makes the whole process smoother and less stressful.
- Preheat and prep: Preheat your oven to 350°F (175°C). Grease a 9×5-inch loaf pan with butter or nonstick spray, then line it with parchment paper, leaving a little overhang on the long sides. This makes lifting the bread out so much easier.
- Prepare the zucchini: Wash your zucchini and trim off the ends. Grate it using the large holes of a box grater—you should get about 1½ cups. Place the shredded zucchini in a clean kitchen towel or a few layers of paper towels and squeeze gently to remove excess moisture. Don’t squeeze too hard or you’ll dry it out—just enough so it’s not dripping. Set aside.
- Mash the bananas: In a separate bowl, mash your ripe bananas with a fork until smooth with a few small lumps remaining. You want about 1½ cups. Lumpy is fine—it adds texture.
- Mix the dry ingredients: In a large bowl, whisk together the flour, baking soda, baking powder, salt, cinnamon, and nutmeg. Make sure everything is evenly distributed. This only takes about 30 seconds.
- Mix the wet ingredients: In another bowl, whisk together the eggs, granulated sugar, and brown sugar until smooth and slightly lighter in color, about 1 minute. Add the oil, vanilla extract, and yogurt (or sour cream) and whisk until combined. Stir in the mashed bananas and the squeezed zucchini.
- Combine wet and dry: Pour the wet ingredients into the dry ingredients. Use a spatula or wooden spoon to fold everything together gently. Stir just until no streaks of flour remain—about 10 to 12 folds. A few lumps are okay. Overmixing will make the bread tough, so resist the urge to keep stirring.
- Make the streusel: In a small bowl, combine the flour, brown sugar, granulated sugar, and cinnamon. Add the cold butter cubes. Use a pastry cutter, two forks, or your fingertips to cut the butter into the flour mixture until it resembles coarse sand with some pea-sized butter pieces remaining. Stir in the chopped nuts if using. The streusel should hold together when squeezed but crumble easily.
- Assemble: Pour the batter into the prepared loaf pan and spread it evenly. Sprinkle the streusel topping generously over the top, pressing it down gently so it sticks to the batter. Don’t skip this—it ensures the streusel bakes into the top rather than falling off when you slice.
- Bake: Place the pan in the preheated oven and bake for 55 to 65 minutes. Start checking at 55 minutes—insert a toothpick into the center; it should come out clean or with a few moist crumbs. If the top is browning too quickly (after about 40 minutes), tent loosely with aluminum foil.
- Cool: Let the bread cool in the pan for 15 minutes. Then use the parchment overhang to lift it out and transfer it to a wire rack. Cool completely before slicing—about 1 hour. I know it’s hard to wait, but slicing too early will make the bread crumble and the streusel fall off.
Sensory cues: The batter should be thick and scoopable, not runny. When you fold in the zucchini and banana, you’ll see little green flecks throughout—that’s good. The streusel should look like crumbly wet sand. During baking, your kitchen will smell like cinnamon and banana—that’s how you know it’s working. The bread is done when the top is golden brown and springs back lightly when touched.
Cooking Tips & Techniques
I’ve made this bread more times than I can count, and I’ve learned a few things the hard way. Here are the tips that actually make a difference.
Don’t skip squeezing the zucchini. I know it seems like an extra step, but it’s the difference between a moist loaf and a soggy one. Zucchini is mostly water, and if you don’t remove some of that water, your bread will be wet and dense. Just a gentle squeeze in a towel—you’re not trying to wring it dry.
Room temperature eggs matter. Cold eggs can seize the batter and make it tough. If you forgot to take them out of the fridge, place them in a bowl of warm water for 5 minutes. Works every time.
Measure your flour correctly. Scooping flour directly with the measuring cup packs it down and you end up with too much. Instead, spoon the flour into the cup and level it off with a knife. This is one of those little things that makes a big difference in baking.
Watch your oven temperature. Ovens run hot or cold—mine runs about 25°F hot, so I set it to 325°F instead of 350°F. If your bread is browning too fast on top but still raw in the middle, your oven is probably too hot. Use an oven thermometer if you have one; they’re cheap and worth it.
The streusel trick. For the crunchiest streusel, make sure your butter is really cold—straight from the fridge. And don’t overwork it; you want some butter pieces the size of small peas. Those little pockets of butter melt during baking and create those crunchy, craggy bits we all love.
My biggest failure: The first time I made this bread, I forgot the baking soda. The loaf came out flat and dense as a brick. I still ate it (because I’m stubborn), but it was not my finest moment. So double-check your leavening agents before you start mixing.
Timing tip: I like to make the streusel first and pop it in the fridge while I mix the batter. That way the butter stays cold and the streusel stays crumbly.
Variations & Adaptations
This recipe is forgiving, and I’ve tried more variations than I can list. Here are a few that actually work well.
Gluten-free version: Substitute the all-purpose flour with a 1:1 gluten-free baking flour blend (I like Bob’s Red Mill). Add 1 teaspoon of xanthan gum if your blend doesn’t already include it. The texture will be slightly more tender, but it still holds together beautifully.
Vegan adaptation: Replace the eggs with two flax eggs (2 tablespoons ground flaxseed mixed with 6 tablespoons water, let sit for 5 minutes). Use coconut yogurt or a plant-based yogurt instead of dairy. The bread will be a bit denser but still moist and delicious.
Chocolate chip version: Fold in ½ cup of semi-sweet chocolate chips along with the zucchini. The chocolate melts into little pockets of sweetness that pair perfectly with the banana and cinnamon. This is my husband’s favorite version—he calls it “dessert bread.”
Low-sugar option: Reduce the granulated sugar to ½ cup and the brown sugar to 2 tablespoons. Add an extra ripe banana for sweetness. The streusel will be less crunchy, but the bread itself will still be tasty.
Spiced variation: Add ½ teaspoon of ground ginger and ¼ teaspoon of ground cloves along with the cinnamon. It gives the bread a warm, almost chai-like flavor that’s perfect for fall.
Personal favorite: I once made this with shredded yellow squash instead of zucchini (because that’s what I had), and honestly, it was almost identical. So if you’re in a pinch, yellow squash works just fine. Also, I’ve added a handful of dried cranberries to the batter before—the tartness cuts through the sweetness nicely.
Serving & Storage Suggestions
This bread is good at any temperature, but here’s how I like to serve it and how to keep it fresh.
How to serve: Slice the bread when it’s completely cool—this gives you clean slices with the streusel intact. For a treat, warm a slice in the toaster or microwave for about 15 seconds and spread it with a little salted butter. The combination of warm, buttery bread and crunchy streusel is just… perfect. It’s also wonderful with a smear of cream cheese if you want something tangy.
What to pair it with: A cup of strong black coffee or a chai latte is my go-to. For a more indulgent breakfast, serve it alongside scrambled eggs and fresh fruit. It also makes a great afternoon snack with a glass of cold milk. If you’re feeling fancy, you can drizzle a simple powdered sugar glaze over the top—just mix ½ cup powdered sugar with 1-2 tablespoons milk until smooth.
Storage: Wrap the cooled bread tightly in plastic wrap or aluminum foil and store it at room temperature for up to 4 days. I usually keep it on the counter, wrapped, and it stays moist the whole time. If your kitchen is very warm, you can refrigerate it, but the texture will be slightly denser.
Freezing instructions: This bread freezes beautifully. Wrap the whole loaf (or individual slices) in plastic wrap, then in foil, and place in a freezer bag. It keeps for up to 3 months. To thaw, leave it at room temperature for a few hours or microwave a slice for 30 seconds. The streusel won’t be as crunchy after freezing, but the bread itself will still be moist and delicious.
How flavors develop: Honestly, this bread tastes even better on day two. The flavors meld together, and the moisture distributes more evenly. So if you can wait a day, you’ll be rewarded with an even better loaf. Not that I ever manage to wait that long.
Nutritional Information & Benefits
Here’s the approximate nutritional breakdown per slice (based on 10 slices). Keep in mind that these are estimates and will vary based on your specific ingredients.
| Nutrient | Amount per slice |
|---|---|
| Calories | 285 |
| Total Fat | 12g |
| Saturated Fat | 3g |
| Cholesterol | 35mg |
| Sodium | 210mg |
| Total Carbohydrates | 40g |
| Dietary Fiber | 2g |
| Sugars | 22g |
| Protein | 4g |
| Vitamin A | 4% DV |
| Vitamin C | 8% DV |
| Calcium | 4% DV |
| Iron | 6% DV |
Health highlights: Zucchini is a good source of vitamin C and antioxidants, while bananas provide potassium and vitamin B6. The yogurt adds calcium and protein. This bread isn’t health food, but it’s not a total sugar bomb either—it’s a reasonable treat that uses real ingredients.
Dietary considerations: This recipe contains gluten, dairy, and eggs. For a gluten-free version, see the variations section. For a dairy-free option, use coconut yogurt and a plant-based butter substitute in the streusel. For a nut-free version, simply omit the walnuts from the streusel.
Personal note: I like that this bread has a little bit of vegetable in it—makes me feel slightly better about having a slice for breakfast. It’s not a health food, but it’s a step up from a store-bought muffin. And honestly, that’s good enough for me.
Conclusion
This banana zucchini bread with crunchy streusel topping is one of those recipes that earns a permanent spot in your rotation. It’s forgiving enough for beginner bakers, reliable enough for experienced ones, and delicious enough to make you forget it has a vegetable hidden inside. The moist crumb, the warm spices, and that crackly streusel top—it all comes together in a loaf that feels both simple and special.
I love that this recipe uses ingredients I almost always have on hand. I love that it fills the house with that cozy, cinnamon-and-banana smell. And I really love that first slice, still warm from the oven, with butter melting into every crevice. It’s the kind of baking that doesn’t need a reason—but if you need one, a rainy Sunday morning works perfectly.
I’d love to hear how yours turns out. Did you add chocolate chips? Try it with pecans instead of walnuts? Made it gluten-free? Drop a comment below and let me know—your variations might inspire someone else. And if you’re looking for another cozy baking project, you might enjoy my decadent triple chocolate mousse cups for when you want something extra indulgent. Or, if you’re in the mood for something savory and satisfying, this crispy herb-crusted roast chicken pairs beautifully with a side of this bread for a cozy dinner.
Happy baking, friend. And remember—the streusel is never a mistake.
Frequently Asked Questions
Can I use frozen zucchini for this bread?
Yes, absolutely. Just thaw it completely and squeeze out the excess water before adding it to the batter. Frozen zucchini tends to release more water than fresh, so be thorough with the squeezing. The texture of the bread will be slightly softer but still delicious.
Why did my streusel sink into the batter?
This usually happens if the batter is too thin or if you pressed the streusel in too hard. Make sure your batter is thick and scoopable—if it’s runny, add a tablespoon of flour. Also, gently sprinkle the streusel on top and press it down very lightly. A thick batter will support the streusel better.
Can I make this bread in a different pan size?
You can, but you’ll need to adjust the baking time. For two 8×4-inch loaf pans, bake for about 40-45 minutes. For mini loaf pans, start checking at 25 minutes. For a 9×13-inch pan (making a sheet cake version), bake for 25-30 minutes. Keep an eye on it and use the toothpick test to check for doneness.
How do I know when the bread is fully baked?
Insert a toothpick or a thin knife into the center of the loaf. It should come out clean or with just a few moist crumbs attached—not wet batter. The top should be golden brown and spring back when lightly touched. If the toothpick comes out with wet batter, bake for another 5 minutes and check again.
Can I skip the streusel topping?
You can, but honestly, the streusel is what makes this bread special. If you want to skip it, the bread itself will still be moist and delicious—it just won’t have that crunchy top. You could also sprinkle the top with a mixture of cinnamon and sugar before baking for a simpler finish. But I’d encourage you to try the streusel at least once. It’s worth the extra few minutes.
Pin This Recipe!

Best Moist Banana Zucchini Bread with Crunchy Streusel
A dense, forgiving banana zucchini bread with a crumbly streusel top that stays crunchy. Perfect for using up ripe bananas and zucchini, this loaf is moist, flavorful, and filled with warm spices.
- Prep Time: 15 minutes
- Cook Time: 55-65 minutes
- Total Time: 1 hour 15 minutes
- Yield: 10 servings 1x
- Category: Bread
- Cuisine: American
Ingredients
- 3 medium ripe bananas, mashed (about 1½ cups)
- 1½ cups shredded zucchini (about 1 medium zucchini)
- 1¾ cups all-purpose flour (210g)
- ¾ cup granulated sugar (150g)
- ¼ cup packed brown sugar (50g)
- 1 teaspoon baking soda
- ½ teaspoon baking powder
- ½ teaspoon salt
- 1 teaspoon cinnamon
- ¼ teaspoon nutmeg (optional)
- 2 large eggs, room temperature
- ½ cup vegetable oil (120ml)
- 1 teaspoon vanilla extract
- ¼ cup plain yogurt or sour cream (60g)
- For the Streusel Topping:
- ½ cup all-purpose flour (60g)
- ¼ cup packed brown sugar (50g)
- 2 tablespoons granulated sugar
- ½ teaspoon cinnamon
- 3 tablespoons cold unsalted butter, cubed (42g)
- ¼ cup chopped walnuts or pecans (optional)
Instructions
- Preheat oven to 350°F (175°C). Grease a 9×5-inch loaf pan with butter or nonstick spray, then line with parchment paper, leaving overhang on the long sides.
- Wash zucchini, trim ends, and grate using large holes of a box grater to get about 1½ cups. Place shredded zucchini in a clean kitchen towel or paper towels and squeeze gently to remove excess moisture (not too dry). Set aside.
- In a separate bowl, mash ripe bananas with a fork until smooth with a few small lumps (about 1½ cups).
- In a large bowl, whisk together flour, baking soda, baking powder, salt, cinnamon, and nutmeg.
- In another bowl, whisk together eggs, granulated sugar, and brown sugar until smooth and slightly lighter, about 1 minute. Add oil, vanilla extract, and yogurt (or sour cream); whisk until combined. Stir in mashed bananas and squeezed zucchini.
- Pour wet ingredients into dry ingredients. Fold gently with a spatula or wooden spoon just until no streaks of flour remain (about 10-12 folds). Do not overmix.
- Make streusel: In a small bowl, combine flour, brown sugar, granulated sugar, and cinnamon. Add cold butter cubes. Use a pastry cutter, two forks, or fingertips to cut butter into flour mixture until it resembles coarse sand with some pea-sized butter pieces. Stir in nuts if using.
- Pour batter into prepared loaf pan and spread evenly. Sprinkle streusel topping generously over the top, pressing down gently so it sticks.
- Bake for 55-65 minutes, starting to check at 55 minutes. Insert a toothpick into center; it should come out clean or with a few moist crumbs. If top browns too quickly (after about 40 minutes), tent loosely with aluminum foil.
- Let bread cool in pan for 15 minutes. Use parchment overhang to lift out and transfer to a wire rack. Cool completely before slicing (about 1 hour).
Notes
For the crunchiest streusel, ensure butter is very cold and don’t overwork it. Squeeze zucchini gently to remove excess water without drying it out. Room temperature eggs are important for proper mixing. Measure flour by spooning into cup and leveling off. If oven runs hot, reduce temperature accordingly. Bread tastes even better on day two.
Nutrition
- Serving Size: 1 slice
- Calories: 285
- Sugar: 22
- Sodium: 210
- Fat: 12
- Saturated Fat: 3
- Carbohydrates: 40
- Fiber: 2
- Protein: 4
Keywords: banana zucchini bread, moist banana bread, zucchini bread with streusel, easy banana zucchini bread, garden bread


