Companion planting helps to get the most out of your garden by planting different vegetables and plants together so that they can make the best use of available sun, nutrients and space. You can plant fast-growing plants in between slow-growing ones. Large, bushy plants like tomatoes can provide protection from scorching sun for low-growing, shade-loving plants like lettuce and spinach. Marigolds make excellent companion plants as they repel pests, and encourage the growth of a wide range of plants.
Source: the Enviropaedia