Quick answer: The highest-protein nuts are almonds (about 21g of protein per 100g), pistachios (20g) and cashews (18g), followed by hazelnuts and walnuts (~15g), then pine nuts and Brazil nuts (~14g). Gram for gram, almonds and pistachios give you the most protein per handful.
The 7 highest-protein nuts, ranked
| Rank | Nut | Protein / 100g | Per 30g handful |
|---|---|---|---|
| 1 | Almonds | 21g | 6.3g |
| 2 | Pistachios | 20g | 6.0g |
| 3 | Cashews | 18g | 5.4g |
| 4 | Hazelnuts | 15g | 4.5g |
| 5 | Walnuts | 15g | 4.5g |
| 6 | Pine nuts | 14g | 4.2g |
| 7 | Brazil nuts | 14g | 4.2g |
For reference, pecans (~9g) and macadamias (~8g) sit lower on protein but are rich in heart-friendly monounsaturated fats.
Why almonds and pistachios come out on top
Almonds and pistachios pack the most protein while staying lower in fat than richer nuts like macadamias. Pistachios are also one of the few nuts that contain meaningful amounts of all nine essential amino acids, making them an unusually complete plant protein.
How to get more protein from your nuts
- Reach for a 30g handful as a between-meal snack to add 5-6g of protein.
- Pair nuts with Greek yoghurt or oats at breakfast.
- Choose a mixed nut blend to combine protein with a wider range of nutrients.
Frequently asked questions
Are peanuts higher in protein than tree nuts?
Yes — peanuts contain around 26g per 100g, but they are technically a legume rather than a tree nut. Among true nuts, almonds lead.
Do roasted nuts have less protein than raw?
No. Dry-roasting does not meaningfully reduce protein content; it mainly changes flavour and texture.
How many nuts should I eat for protein?
A 30g serving (a small handful) once or twice a day is a sensible amount for most adults.
Shop high-protein nuts: Almonds, Pistachios and Cashews — or browse all our nuts. Subscribe & save 5%, with free local delivery on orders over HK$350.