A study of 44,500 people in England and Scotland showed vegetarians were 32% less likely to die or need hospital treatment as a result of heart disease.
Differences in cholesterol levels, blood pressure and body weight are thought to be behind the health boost.
The findings were published in the American Journal of Clinical Nutrition.
Heart disease is a major blight in Western countries. It kills 94,000 people in the UK each year – more than any other disease, and 2.6 million people live with the condition.
The heart’s own blood supply becomes blocked up by fatty deposits in the arteries that nourish the heart muscle. It can cause angina or even lead to a heart attack if the blood vessels become completely blocked.
Scientists at the University of Oxford analysed data from 15,100 vegetarians and 29,400 people who ate meat and fish.
Over the course of 11 years, 169 people in the study died from heart disease and 1,066 needed hospital treatment – and they were more likely to have been meat and fish eaters than vegetarians.
Dr Francesca Crowe said: “The main message is that diet is an important determinant of heart health, I’m not advocating that everyone eats a vegetarian diet.
“The diets are quite different. Vegetarians probably have a lower intake of saturated fat so it makes senses there is a lower risk of heart disease.”
The results showed the vegetarians had lower blood pressure, lower levels of “bad” cholesterol and were more likely to have a healthy weight.
Tracy Parker, from the British Heart Foundation, said: “This research reminds us that we should try to eat a balanced and varied diet – whether this includes meat or not.
“But remember, choosing the veggie option on the menu is not a shortcut to a healthy heart. After all, there are still plenty of foods suitable for vegetarians that are high in saturated fat and salt.
“If you’re thinking of switching to a vegetarian diet, make sure you plan your meals carefully so that you replace any lost vitamins and minerals, such as iron, that you would normally get from meat.”