"Carrots Love Tomatoes" is the title of a companion planting book. Because one is a root crop and one is fruiting, they aren't competing with each other for the same nutrients or the same space. I plant a row of carrots along the outside of the tomato bed.
For me succession planting is the name of the game in my small garden. I plant my broccoli transplants very early (soon!
) right in front of where the tomatoes will go. Plant the small tomato transplants right behind them. By the time the tomato plants are getting big and need the space, the broccoli is about done and can be pulled. At the end of summer you can plant lettuce and spinach again, amongst the tomatoes. While it is still hot, the tomatoes provide shade for the greens, and then the tomatoes are done and the greens will keep going for awhile.
Lettuce and spinach and peas go in early and get done early and then you can plant squash where they were. Garlic and onions get planted in the fall and harvested middle of the next summer. By then you can plant broccoli seed in the spot where they were. By the time the broccoli is getting big, it will be cool enouogh for it to make heads.
Herbs get mixed in and interplanted with everything. Helps keep bugs away.
There can't really be a list because there's a million different combinations and it depends on what you want to grow, your climate, etc. Have fun!