Beans
Credit: Riou/Getty

Beans boast an average of 15 grams of protein per cup. Though they don't contain all nine essential amino acids – the reason for their "good" score – beans have something that animal products don't: fiber, with 11 grams per cup. Chickpeas have a little fat, but it's polyunsaturated, shown to help prevent heart disease. Choose lentils, with 18 grams of ­protein per cup – more than any other bean. Lentils also have twice as much iron. What's better, dried or canned? There's no nutritional difference between them, but since canned beans can be high in sodium, rinse and drain them before use. Protein power: Good.