Companion planting is one of those gardening tricks that sounds almost too simple when you first hear about it.
Put one plant next to another, and somehow you get fewer pests, better pollination, healthier growth, or even better flavor. But after years of trying different combinations in vegetable beds, raised planters, and even mixed flower borders, I can tell you there’s a lot of truth to it—when you do it with a little intention.
The key is not treating companion planting like magic. It won’t fix bad soil, poor watering, or overcrowded beds. What it can do is make a good garden work better.
The right pairing can help shade the soil, confuse pests, attract beneficial insects, or make better use of a tight space. So if you want a healthier, more productive garden without turning it into a science project, these companion planting ideas are a great place to start.
1. Plant basil next to tomatoes

Tomatoes and basil are probably the most talked-about companion planting pair, but I still think they earn the hype. Basil helps fill in the space around tomato plants without competing too aggressively, and it can attract pollinators while also helping make the bed feel a little less open to pests. I’ve also found that when basil grows near tomatoes, I’m more likely to keep that part of the garden harvested and tidy, which matters more than people realize.
The way I like to do it is to plant one basil every 12 to 18 inches around the base or edge of the tomato bed rather than cramming basil directly under the tomato stems. Tomatoes need airflow, and if you stuff too many herbs around the base, you’ll hold moisture where you don’t want it. Keep the basil slightly outward, let the tomatoes take the vertical space, and use the basil as a low, fragrant border.
2. Grow marigolds around vegetable beds

Marigolds are one of the easiest companion plants to work into almost any garden because they don’t ask for much and they pull their weight. I like them around tomatoes, peppers, cucumbers, beans, and even near raised beds with lettuce or herbs. Their strong scent can help confuse certain pests, and their flowers also bring in pollinators and beneficial insects that make the whole garden more active.
The biggest mistake I see is planting one lonely marigold in a giant bed and expecting miracles. If you want them to actually do something, plant them in clusters or run them along the bed edge every few feet. French marigolds are my favorite for companion planting because they stay manageable and bloom heavily without taking over the bed.
3. Tuck nasturtiums near cucumbers

Nasturtiums are one of my favorite “working flowers” in the vegetable garden. They spill beautifully over the edge of a raised bed, the blooms are edible, and they can act as a trap crop by drawing aphids and some chewing insects away from more valuable crops. I especially like them near cucumbers because cucumbers benefit from more pollinator activity, and nasturtiums help bring that in.
Give nasturtiums room to spread a bit instead of planting them right on top of your cucumbers. I usually set them near the corner of the bed or at the front edge where they can trail outward. That way they soften the look of the bed, cover some soil, and still leave the cucumbers enough air circulation and space to climb.
4. Pair carrots with onions

Carrots and onions are one of those classic pairings that actually makes a lot of sense once you think about how pests find plants. Carrot flies are attracted by the scent of carrots, and onions help mask that scent. On the flip side, the smell of carrots may also help confuse onion pests a bit. You’re basically mixing signals in the bed so it’s harder for insects to zero in on their target.
This works best when the two are genuinely mixed, not planted in totally separate beds across the yard. I like sowing carrots in rows with onions planted in alternating rows or staggered pockets. Just make sure the onions don’t shade the carrots too heavily early on, especially if you’re growing shorter carrot varieties in spring.
5. Plant lettuce beneath taller tomatoes or peppers

Lettuce doesn’t love summer heat, and if you’ve ever watched a nice patch of leaf lettuce bolt in a hot week, you know how frustrating that is. One of the easiest companion tricks is to use taller crops like tomatoes or peppers to give lettuce a little afternoon shade. That extra protection can buy you a couple more weeks of harvest before the lettuce turns bitter and starts stretching upward.
The trick here is timing and placement. Don’t plant lettuce where it gets zero light. You want filtered sun or partial shade once the taller plants leaf out, not deep darkness. I’ve had the best luck tucking loose-leaf lettuce on the east side of tomato cages or just in front of peppers where it gets morning sun and then relief from the hottest part of the day.
6. Use dill near brassicas

Dill is one of those herbs that does a lot more in the garden than people give it credit for. Once it flowers, it becomes a magnet for hoverflies, parasitic wasps, and other beneficial insects that help keep aphids and caterpillars in check. That makes it especially useful near brassicas like cabbage, broccoli, kale, and cauliflower, which tend to attract every chewing pest in the neighborhood.
I wouldn’t crowd dill directly into the middle of a tight cabbage planting, because mature dill can get airy but still fairly tall. Instead, I like planting it along the side of the bed or in small pockets between brassicas where there’s still enough airflow. Let it flower instead of harvesting every stem, because those blooms are where the real companion-planting value kicks in.
7. Grow radishes near cucumbers

Radishes are quick, cheap, and easy to tuck into spare spaces, which makes them one of my favorite “support plants” in the garden. A lot of gardeners like planting them near cucumbers because they can help distract or deter cucumber beetles, and even if they don’t solve the whole problem on their own, they’re still useful because they mature fast and don’t hog space.
I usually sow radishes in a loose band near the base of cucumber trellises early in the season. By the time the cucumber vines really start taking off, the radishes are often ready to harvest, so you’re not creating long-term crowding. It’s one of those low-risk companion ideas that’s worth trying because it costs almost nothing and fits into the bed naturally.
8. Pair beans with corn

This is one of the oldest companion planting ideas for a reason. Pole beans can use corn stalks as a living trellis, which saves space and gives you two crops in one footprint. It also makes the garden look beautifully full by midsummer. If you’ve got the room, it’s a smart way to make a bed work harder without adding extra structures.
That said, I wouldn’t throw the seeds in all at once and hope for the best. Let the corn get established first so it’s strong enough to support the beans. If you sow pole beans too early, they can pull down young corn or tangle it before it has the strength to stand upright. I usually wait until the corn is about knee high before adding the beans nearby.
9. Add borage near squash, cucumbers, and tomatoes

Borage is one of the best companion plants if your goal is simply to make the garden feel alive. Bees absolutely love it, and anything that increases pollinator traffic around squash, cucumbers, melons, and tomatoes is worth paying attention to. The blue flowers are beautiful, the plant has a loose, cottage-garden feel, and it fills in space without looking stiff or formal.
I like planting borage near the corners of raised beds or at the end of vegetable rows where it has room to get a little wild. It’s not the neatest plant in the world, so I don’t tuck it into the middle of a carefully organized bed. But if you give it a little breathing room, it becomes one of those plants that quietly improves the whole garden.
10. Put chives near roses and strawberries

Chives are one of the easiest companion plants to use because they stay fairly tidy, they come back reliably, and they fit in both ornamental and edible beds. Their oniony scent can help discourage certain pests, and the flowers bring in pollinators too. I especially like chives near strawberries because they don’t shade the plants too much, and they also work nicely around roses if you grow flowers and vegetables in the same space.
Plant them as small clumps rather than one big dense patch. A few chive clumps around the edge of the bed is usually enough to get the benefit without making the area feel overcrowded. Plus, you’ll actually use them in the kitchen, which is always a bonus in my book.
11. Pair spinach with peas

Spinach and peas are a good match because they like the same part of the season and don’t compete in the same way. Peas climb upward while spinach stays low, so you get vertical and horizontal production from the same bed. The peas also cast a bit of light shade once they get going, which spinach appreciates as the weather starts warming up.
I like sowing spinach in front of a pea trellis or between wider-spaced pea rows in early spring. By the time the peas are really filling out, you’re already harvesting spinach, so the bed never feels too crowded. It’s a smart way to get more from a cool-season space without turning it into a mess.
12. Grow calendula around herbs and greens

Calendula doesn’t always get the same attention as marigolds, but it deserves a place in more vegetable gardens. It’s cheerful, easy to grow, and attractive to pollinators and beneficial insects. I’ve had especially good luck using it around salad beds and herb beds where I want something that helps with insect activity but still looks soft and edible-garden friendly.
The nice thing about calendula is that it doesn’t scream “border plant” the way marigolds sometimes do. It has a looser, cottage-garden look that blends well with parsley, lettuce, arugula, and cilantro. If you like your vegetable garden to look pretty as well as productive, calendula is a really good companion to work in.
13. Use garlic near fruiting crops

Garlic earns its keep in the garden in more ways than one. It’s useful in the kitchen, doesn’t take up much room, and its strong smell can help make nearby crops less obvious to pests. I like it around strawberries, peppers, and even in mixed flower-and-vegetable beds where aphids and beetles tend to show up.
The important thing is not planting it where you’ll constantly disturb it. Garlic needs time to size up, so don’t wedge it into the center of a fast-turnover salad bed where you’re pulling and replanting every week. A cleaner approach is to use it as an edge planting or tuck it in near slower-growing crops that won’t require constant digging around it.
14. Plant alyssum near peppers and tomatoes

Sweet alyssum is one of the best low-growing companion flowers for a vegetable garden because it’s small, easy to fit in, and surprisingly useful. The tiny flowers attract hoverflies and other beneficial insects that help with aphid control, and because alyssum stays low, it doesn’t compete too hard with peppers, tomatoes, or eggplant.
I love using alyssum at the front of raised beds because it softens the edge and acts like a living mulch. It also makes the garden look more intentional. Instead of bare soil around your vegetable plants, you get a flowering edge that’s actually doing a job.
15. Put sunflowers near squash or cucumbers

Sunflowers are not a fit for every bed, but when you have the room, they can be surprisingly useful companions. Their flowers draw pollinators, their height can give a little late-day shade to tender crops, and they add a lot of life to the garden. I like them near squash or cucumbers where bee activity matters and where the vines can benefit from a little protection from the hottest sun.
The key is placement. Don’t put tall sunflowers on the south side of sun-loving crops unless you want full shade. I prefer placing them on the west side of squash or at the back of the bed where they create a backdrop instead of a light-blocking wall.
16. Pair beets with bush beans

Beets and bush beans make a nice practical pairing because they use the bed differently. Bush beans have a light canopy and fairly shallow root system, while beets sit lower and don’t mind a little neighboring foliage as long as they still get enough sun. This combination works especially well in medium-size raised beds where you’re trying to squeeze in a few extra crops without crowding.
I wouldn’t plant them shoulder to shoulder, but alternating short sections or staggered rows works well. The beans also help keep the bed productive through summer while the beets fill out underneath. It’s a useful pairing if you want a bed that looks full and productive without turning into a tangled mess.
17. Mix parsley with asparagus or tomatoes

Parsley is one of the easiest herbs to weave through the vegetable garden because it stays manageable and tolerates a bit of partial shade once the weather heats up. It’s often recommended near asparagus, and I also like it near tomatoes as a low companion herb that doesn’t take over the bed. It fills empty space nicely and gives you a harvestable crop in areas that might otherwise stay bare.
What I like about parsley is that it doesn’t demand constant attention. You can tuck it near the edge of a tomato bed or beside perennial crops like asparagus and let it quietly do its thing. It also makes the garden feel more abundant, which is never a bad thing.
18. Use a three-layer bed with trellis crops

This last one is less about one exact pairing and more about how to think like a companion planter. Some of the healthiest gardens I’ve grown used a layered approach: tall climbers or trellised crops in back, midsize vegetables in the middle, and low herbs or flowers at the front. For example, you might grow cucumbers on a trellis, peppers in front of them, and alyssum or basil along the edge.
That kind of layering makes the most of your space, helps shade the soil, and keeps the bed visually balanced. It also naturally encourages you to mix plants with different jobs—food crops, pest helpers, pollinator magnets, and space fillers—rather than planting everything in isolated blocks. Once you start thinking in layers, companion planting becomes much easier to design.
Tips for Making Companion Planting Actually Work
Companion planting is helpful, but it works best when you treat it like part of a bigger gardening strategy rather than a shortcut. Here are a few things I’d keep in mind if you want better results.
Don’t overcrowd the bed
This is the biggest mistake I see. Just because two plants can grow near each other doesn’t mean they should be packed together. Good airflow still matters, especially around tomatoes, cucumbers, squash, and peppers.
Match water and sun needs when possible
A companion pair works a lot better when both plants like similar conditions. Basil and tomatoes make sense because they both enjoy warmth and regular moisture. Pairings get frustrating fast when one plant wants dry soil and the other wants steady watering.
Use flowers as working plants, not just decoration
Marigolds, calendula, nasturtiums, alyssum, and borage aren’t there just to look pretty. Treat them like part of the system. Place them where they’ll attract pollinators, fill bare edges, or distract pests from more valuable crops.
Keep notes on what actually works in your garden
A companion planting chart is a good starting point, but your climate, pest pressure, and bed layout matter too. If basil near tomatoes works beautifully for you but dill beside broccoli turns into a flop, that’s worth writing down.
Don’t expect companion planting to replace basic garden care
Healthy soil, regular harvesting, mulch, proper spacing, and consistent watering still matter more than any companion combo. Think of companion planting as support, not as the whole strategy.
Final Thoughts
Companion planting is one of those gardening habits that gets better the more you use it. At first, it can feel like a long list of pairings to memorize, but after a while you start seeing your beds differently.
Instead of asking, “Where can I fit another tomato?” you start asking, “What can I tuck near these tomatoes that will actually help the whole bed work better?” That shift makes a big difference.
If I were starting from scratch, I’d keep it simple. Try basil with tomatoes, marigolds around vegetables, nasturtiums near cucumbers, and onions with carrots. Those are easy pairings that don’t make the garden harder to manage, and they’ll give you a feel for how companion planting works in real life. Once you get used to mixing crops with purpose, your garden starts feeling healthier, fuller, and a whole lot smarter.
FAQs
Does companion planting really work?
Yes, but not in a magical cure-all way. It works best as part of an overall healthy garden plan. The right pairings can attract pollinators, confuse pests, shade soil, and help you use space more efficiently.
What’s the easiest companion planting combo for beginners?
Tomatoes and basil is probably the easiest place to start. Marigolds around vegetable beds are another simple one because they fit almost anywhere and don’t complicate your layout.
Can I use companion planting in raised beds?
Absolutely. In fact, raised beds are one of the best places to use it because space matters more there. Mixing herbs, flowers, and vegetables in a thoughtful way can make a raised bed much more productive.
Should every vegetable have a companion plant?
Not necessarily. Sometimes the smartest move is just giving a crop the right spacing, sun, and soil. Companion planting is helpful, but you don’t need to force a partner next to every single plant in the garden.
What companion flowers are most useful in a vegetable garden?
Marigolds, nasturtiums, calendula, sweet alyssum, and borage are some of the best ones to start with. They’re easy to grow and genuinely useful for pollinators and beneficial insects.