This guide covers what "complete" actually measures, which foods in the database carry the flag and which do not, how the classic bean-and-grain pairing works, and where the old advice about combining proteins at every single meal came from - and why it was walked back.
What the word complete is measuring
Protein in food is not a single substance. It is a class of molecules built from twenty amino acids, and when you digest a steak or a bowl of lentils you are not absorbing "protein" - you are absorbing amino acids, which your body then reassembles into the specific proteins it needs.
Of those twenty, nine cannot be made by the human body at all and must come from food. They are histidine, isoleucine, leucine, lysine, methionine, phenylalanine, threonine, tryptophan, and valine, and they are called the essential amino acids. A food is described as a complete protein when it supplies all nine in proportions that are adequate relative to human requirements.
An incomplete protein is not missing an amino acid entirely - that is the first myth to discard. It is low in at least one relative to what the body needs, and the one in shortest supply is called the limiting amino acid, because it caps how much of the rest can be used for building tissue. Grains are typically limited by lysine. Legumes are typically limited by the sulphur-containing amino acids, methionine and cysteine. Corn is notably low in both lysine and tryptophan.
- Nine essential amino acids must come from the diet.
- Complete = all nine present in adequate proportions.
- Incomplete = at least one in short supply, not absent.
- The scarcest one - the limiting amino acid - caps the usefulness of the rest.
Which foods carry the flag
Essentially all animal-source foods are complete: meat, poultry, fish and shellfish, eggs, and dairy. That is unsurprising, since the amino acid profile of animal tissue closely resembles our own.
The more interesting half of the list is the plant foods that are also complete, because the common claim that "plants are incomplete" is simply false as a blanket statement. In the ProteinTally database, the soy foods are the flagship examples - tofu, tempeh, edamame, natto, soy milk, whole soybeans, and textured vegetable protein all carry the complete flag. So do quinoa, buckwheat, hemp seeds, and chia seeds.
There are also foods that carry a great deal of protein and still do not carry the flag, which is the clearest evidence that the label is about profile rather than amount. Lupini beans are the standout case in the database: a cooked cup supplies 25.9 g of protein, more than most 3 oz portions of meat, and they remain a legume, so they are limited in the sulphur-containing amino acids like every other bean. Gelatin powder - the same protein sold as collagen - is starker still: it is about 86 g of protein per 100 g and contains essentially no tryptophan, which is why it should never be counted as a general protein source.
So the honest summary is not "animal complete, plant incomplete". It is that most single plant foods are limited in something, several important ones are not, and the classification is about profile, not about quality in any moral or nutritional-superiority sense.
| Food | Serving | Protein | Why it's here |
|---|---|---|---|
| Tofu (firm) | 1/2 cup | 21.8 g | Complete - soy protein supplies all nine essential amino acids. |
| Tempeh | 3 oz | 17.1 g | Complete, and denser in protein than most soy foods per gram. |
| Quinoa | 1 cup cooked | 8.1 g | A complete grain - unusual, and the reason it gets so much attention. |
| Hemp seeds | 1 oz | 8.8 g | Complete, and easy to add to food you are already eating. |
| Lupini beans | 1 cup cooked | 25.9 g | More protein than most meat portions and still not complete - it is a legume. |
How complementary proteins actually work
The reason beans and grains are paired in so many traditional cuisines is that their weaknesses are mirror images. Grains are short on lysine and comparatively rich in methionine. Legumes are short on methionine and comparatively rich in lysine. Eat them together and each one covers the other's gap, producing a combined profile that behaves like a complete protein even though neither food is complete on its own.
This is called protein complementation, and it is not a modern invention - rice and beans, lentils and rice, hummus and pita, beans and corn tortillas, peanut butter on bread are all the same trick, arrived at independently by cuisines that had no idea what an amino acid was.
Nuts and seeds behave broadly like legumes here, which is why a peanut butter sandwich works. Dairy and eggs complement plant foods trivially well because they are already complete, so oatmeal with milk or lentils with a poached egg needs no thought at all.
- Grains + legumes: rice and beans, lentils and rice, hummus and pita.
- Grains + nuts or seeds: peanut butter on wholemeal bread, tahini on toast.
- Legumes + seeds: hummus is chickpeas and sesame in one bowl.
- Anything + dairy or egg: complete by default, no pairing logic needed.
| Food | Serving | Protein | Why it's here |
|---|---|---|---|
| Black beans | 1 cup cooked | 15.2 g | Rich in lysine, limited in methionine. |
| Brown rice | 1 cup cooked | 5.3 g | The classic partner - limited in lysine, adequate in methionine. |
| Hummus | 2 tbsp | 2.3 g | Chickpeas plus sesame: a complementary pair in a single dip. |
The combining-at-every-meal myth
Through the 1970s a widely repeated piece of advice held that vegetarians had to combine complementary proteins within the same meal or the pairing would not work. It was an influential idea, and it made plant-based eating sound like a logistics problem.
It was subsequently retracted by the author who popularised it, and mainstream dietetic guidance has not required meal-by-meal combining for decades. The body maintains a circulating pool of amino acids drawn from recent meals and from ordinary tissue turnover, so amino acids eaten at breakfast are still available to be used with those eaten at lunch. What matters is the overall profile across the day, not the composition of any single plate.
This does not make complementation useless - it makes it easier. You do not have to engineer every meal; you have to eat a reasonable variety of plant protein sources across a day, which most varied diets do automatically. If lentils appear at lunch and bread at dinner, the complementation still happens.
Does the distinction matter for you?
For anyone eating any animal protein regularly, completeness is close to a non-issue in practice. A single egg or a glass of milk carries a complete profile, and it will cover the limiting amino acid of whatever plant foods share the day with it.
For someone eating entirely plant-based, it matters a little more, but as a variety principle rather than a rule. Diets built narrowly on grains and vegetables with very little legume, soy, nut, or seed content are the ones that run short - usually on lysine. Including a legume or soy food most days handles it, which is one of the reasons the vegan and legume rankings are worth browsing.
It is also worth keeping completeness in proportion against the plainer question of quantity. A food that is complete but supplies 2 g of protein per serving contributes less to your day than an incomplete food supplying 18 g. Completeness tells you about profile; the per-serving number tells you about amount. You need both to judge a food, and the rankings sort by amount for exactly that reason.
- Eating animal protein regularly: completeness rarely needs thought.
- Fully plant-based: include legumes, soy, nuts, or seeds most days.
- Watch out for narrow grain-and-vegetable diets - lysine is the usual gap.
- Never read "complete" as "high protein": they are different measurements.