Companion planting that actually works (and what doesn't)

Every gardening book has a companion planting chart. Most of them are wrong about at least half of it.
I spent my first three gardening years treating Louise Riotte's Carrots Love Tomatoes as scripture. Some of what's in there is real. A lot of it is 1970s folklore that nobody's ever replicated in a controlled trial. It took me until 2022, and a conversation with a retired Purdue extension agent at a seed swap, to start sorting out which companion pairings actually deliver.
Here's what I've seen work in my own Zone 6a beds, what the research supports, and the pairings I've mostly stopped caring about.
The four that actually deliver
Tomatoes and basil
Genovese basil planted at the base of every tomato. It's the single most reliable companion I've ever seen. A 2018 paper (Balboa et al., University of the Philippines, looking at tomato hornworm incidence) found about a 30% reduction in hornworm damage in basil-intercropped plots versus tomato monoculture. I watched this play out in my own beds in 2021, two rows of four Brandywines, basil at the base of row one, nothing at the base of row two. Row one had two hornworms all summer. Row two had a dozen.
Beyond hornworms, basil repels whitefly and attracts pollinators. And the harvest timing lines up perfectly, you're picking tomatoes and basil for caprese salad from the same 10 square feet of dirt.
Carrots and onions
Carrot fly (Psila rosae) is attracted by the volatile oils in carrot foliage. Onions mask them. And, reciprocally, onion maggot (Delia antiqua) is confused by carrot smell. This is the classic "pest confusion" pair, and it's well-documented enough that commercial organic carrot growers use it.
In practice: I plant a row of scallions down the middle of every carrot square. It doesn't have to be many, just enough scent interference. 2023 was the first year I saw zero carrot fly damage, and that was the first year I committed to interplanting every carrot row.
Three Sisters (corn, pole beans, squash)
Indigenous agriculture's gift to the world. Native Americans were doing this for centuries before Europeans arrived. The mechanism is triple:
- Corn acts as a living trellis for pole beans.
- Pole beans (legumes) fix atmospheric nitrogen through root nodules, feeding both corn (nitrogen-hungry) and squash.
- Squash sprawls at ground level, shading out weeds and keeping soil moisture in.
I tried this in 2022 in a 4x8 bed. Corn 4x4 block at one end, pole beans planted at the base of every corn stalk two weeks after corn sprouted, Waltham butternut at the other end vining toward the corn. All three produced. The corn ears were a little small, beans were enormous, squash was fine. Total harvest from the bed was the highest I've ever recorded.
Lettuce and radishes
Sow them together in the same square. Radishes germinate in 4 days; lettuce takes 7-10. Radishes harvest in 28 days; lettuce in 45-55. By the time your lettuce is filling out the square, the radishes are already eaten and making room. Two crops, same 12x12, different timelines.
Bonus: radishes act as a soil loosener for the shallow-rooted lettuce to follow. And flea beetles that attack lettuce are often distracted by radish foliage. Two for the price of one.
Things that actively fight each other
Some companion pairings are real because they hurt. Worth knowing:
- Onions and beans. Alliums suppress rhizobium bacteria that beans need for nitrogen fixation. Plant them in separate beds.
- Fennel and almost everything. Fennel secretes allelopathic compounds that inhibit germination and growth of many other vegetables. Give it its own corner.
- Tomatoes and brassicas. Tomatoes release chemicals that stunt broccoli, cabbage, and cauliflower growth. Different beds or different sides of the garden.
- Walnut trees and nearly every vegetable. Black walnut trees release juglone, a compound toxic to tomatoes, peppers, eggplant, potato, and a long list of others. The soil within 50 feet of a black walnut is compromised. I lost a whole bed to this in 2020 before I figured it out.
What I've stopped worrying about
The Riotte book and a thousand Pinterest charts claim pairings for basically every combination of vegetable. Carrots love tomatoes. Corn loves cucumbers. Strawberries love spinach. Most of this is folklore, and the evidence is thin to nonexistent.
I don't lose sleep over marigolds repelling nematodes anymore. The effect is real but requires specific marigold varieties (Tagetes patula) and a season of fallow to matter. In a three-month home garden cycle, it's negligible.
Nasturtiums as "trap crops" for aphids. Also real but minor. If I have the space and I like the flowers, sure. But I'm not planning my beds around it.
Garlic allegedly repelling every pest in the garden. Garlic is a fine companion and produces great garlic. That's mostly the point.
A two-minute planning rule
When I plan a bed now, I apply three questions:
- Is there a heavy feeder (tomato, corn, squash)? If yes, pair with a nitrogen fixer (bush beans, pole beans, peas).
- Is there a pest-prone crop (brassicas, carrots)? If yes, add a pungent companion (basil, dill, onion, chives, mint).
- Is there a fast-and-slow combo opportunity (radishes + carrots, radishes + lettuce)? If yes, plant both in the same square.
That's it. That covers 80% of the real companion planting benefit with 10% of the mental overhead.
The Three Sisters I planted in 2022, a closer look
Stabbing my shovel into a 2x8 bed on May 15, 2022, the day after my Indiana last-frost date. I set the corn grid first, Painted Mountain variety from Baker Creek, 16 seeds in a 4x4 grid at 10-inch spacing. Watered deep, covered with row fabric for the first two weeks to keep crows off.
When the corn was 6 inches tall, I planted Kentucky Wonder pole beans at the base of every corn plant. Two beans per corn stalk. They sprouted in 8 days and started climbing immediately.
Waltham butternut squash at the opposite end of the bed, three hills of two seeds each. They vined through the corn-bean tangle by July.
Harvest: 16 ears of corn (small but flavorful), 4 pounds of pole beans over six weeks, and 6 butternut squashes in October. The bed held the whole polyculture without supplemental fertilizer because the beans kept the nitrogen cycle running.
Use the calculator's companion tips
Every species in the calculator's database has a one-line companion hint based on what I've actually grown. It's not comprehensive, but it captures the real, repeatable pairings without the folklore.
Pick a primary plant. Pick a companion. Let the calculator split the bed. You'll land on something that works.