Companion planting chart for vegetables
Here is the chart. But a chart tells you about pairs, and a bed is a two-dimensional arrangement, which is why most people read one and plant nothing differently.
This is the chart people search for. It is below, and it is accurate, because I have removed the pairings I could not find a mechanism for, which is a meaningful fraction of what circulates online.
But read the section after it too, because a companion planting chart has a structural problem: it describes pairs, and you plant beds.
The chart
| Crop | Good neighbours | Keep away from |
|---|---|---|
| Tomato | Basil, marigold, borage, chives, garlic, parsley, carrot, lettuce, nasturtium, asparagus | Brassicas, potato, corn, fennel |
| Potato | Beans, corn, cabbage, horseradish, marigold | Tomato, cucumber, squash, sunflower |
| Pepper & chilli | Basil, onion, carrot, tomato, marjoram | Fennel, brassicas |
| Carrot | Onion, leek, chives, rosemary, sage, lettuce, peas, tomato | Dill (once flowering), fennel, parsnip |
| Onion & garlic | Carrot, beetroot, lettuce, brassicas, tomato, strawberry | Beans, peas, asparagus |
| Beans (bush & pole) | Corn, squash, carrot, cucumber, celery, potato, marigold | Onion, garlic, chives, leek, fennel |
| Peas | Carrot, radish, cucumber, corn, beans, turnip | Onion, garlic, chives |
| Broccoli & cabbage | Onion, garlic, dill, beetroot, celery, nasturtium, thyme | Tomato, pepper, strawberry, fennel |
| Kale | Beetroot, onion, herbs, nasturtium | Tomato, strawberry, fennel |
| Lettuce | Carrot, radish, cucumber, strawberry, onion, tomato (for shade) | Brassicas (competition), fennel |
| Spinach | Strawberry, beans, peas, brassicas | Fennel |
| Cucumber | Beans, peas, corn, radish, sunflower, dill, nasturtium | Potato, aromatic herbs (mild), fennel |
| Courgette & squash | Corn, beans, nasturtium, marigold, borage | Potato, fennel |
| Beetroot | Onion, brassicas, lettuce, bush beans | Pole beans, fennel |
| Radish | Carrot, cucumber, lettuce, peas, nasturtium | Hyssop, fennel |
| Corn | Beans, squash, cucumber, peas, melon | Tomato |
| Strawberry | Lettuce, spinach, onion, borage, thyme | Brassicas |
| Aubergine | Beans, marigold, pepper, tarragon | Fennel |
| Asparagus | Tomato, parsley, basil, marigold | Onion, garlic, potato |
| Basil | Tomato, pepper, aubergine, asparagus | Rue, fennel |
| Mint | Brassicas, tomato (in a pot) | Everything, if planted loose |
| Fennel | Nothing. Grow it alone. | Everything |
Why the good pairings work
Four mechanisms account for essentially every pairing above that holds up:
- Aromatic masking. Pests find host plants by smell. Strongly aromatic neighbours raise the noise floor. This is why basil, chives, garlic and marigolds appear so often, and why quantity matters more than proximity. One basil plant in a corner does nothing.
- Beneficial insect support. Small shallow flowers (dill, parsley, coriander umbels, alyssum, borage) feed the parasitic wasps and hoverflies whose larvae eat aphids and caterpillars. Letting a couple of herbs bolt is a deliberate tactic, not neglect.
- Space complementarity. Deep roots with shallow roots, tall with low, fast with slow. Carrots under tomatoes. Radishes between slow carrots. The most reliable mechanism and the least exciting.
- Allelopathy. Chemical effects, usually negative. French marigold suppressing root-knot nematodes is the useful positive case; fennel and black walnut are the destructive ones.
The three sisters
Corn, beans and squash: the traditional Indigenous American polyculture, and the best-documented companion system there is. Each element does a job:
- Corn provides the vertical structure the beans climb, saving the cost of a trellis.
- Beans fix atmospheric nitrogen, feeding corn, which is a heavy nitrogen user.
- Squash covers the ground with large leaves, suppressing weeds and holding soil moisture, and its prickly stems deter some mammals.
It needs space. Plant corn first in a block of at least 3×3 for wind pollination, add beans when the corn is 15cm tall, and squash a fortnight later. Not a small-bed technique, but a genuine demonstration that the principle works when the mechanisms are real.
What I removed and why
Pairings that appear on most charts and have no identifiable mechanism: beans and beetroot, lettuce and celery, peppers and beans, cucumbers and sage, tomatoes and cucumbers. Each traces back to mid-century books that offered no evidence, and each has been copied forward ever since.
The test is simple: if a claimed conflict has no stated mechanism, treat it as folklore. Real conflicts have reasons: a chemical, a shared pest, a nutrient collision, or a physical one. More on this in what not to plant together.
The problem with charts
Look at the table again. To use it on a real bed you would have to check every adjacent pair of plants against it. A thirty-two square bed has over fifty adjacencies, and each cell of the chart lists eight or nine relationships.
That is why the honest outcome of reading a companion planting chart is usually: screenshot it, feel informed, plant exactly as you were going to. The information is fine. The format is the problem.

Companions on the bed
The fix is not a better chart. It is putting the relationship where the decision happens: on the bed, at the moment you place a plant.
For the most-searched case specifically, see what to plant with tomatoes.