Cheapest high-protein foods in Australia (protein per dollar)
The most protein for your dollar in an Australian supermarket comes from dried legumes - red lentils, split peas, dried chickpeas - at roughly 60 to 90 g of protein per $1, then rolled oats, eggs, milk and tinned legumes. None of it is a supplement and none of it is fancy: it is the cheap, shelf-stable stuff that has always been there. The trick to spotting it is reading the per-100g column on the panel and dividing protein by price - that single habit tells you which pack is better value, and it is the same column that reads in kilojoules by law here, so there is nothing to convert.
The short version
- Best protein per dollar: dried lentils and split peas, then oats, eggs, milk, tinned legumes
- Best protein with the lowest kilojoules: tinned tuna in springwater, skim milk, white fish, egg whites, tofu
- Compare on per 100g, never per serve - divide protein by price to get protein per $1
- Prices below are typical home-brand, Sep 2026 - check the shelf ticket and the panel for your store
Cheap high-protein staples, ranked by protein per dollar
| Food (typical home-brand) | Protein /100g | Energy /100g | ~Price /100g | ~Protein per $1 |
|---|---|---|---|---|
| Dried red lentils / split peas (dry) | 25 g | ~1,400 kJ | $0.30 | ~83 g |
| Rolled oats (dry) | 13 g | ~1,600 kJ | $0.20 | ~65 g |
| Peanut butter (top-up, high energy) | 25 g | ~2,500 kJ | $0.60 | ~42 g |
| Tinned chickpeas / lentils / kidney beans | 7 g | ~450 kJ | $0.23 | ~30 g |
| Wholemeal bread | 9 g | ~1,000 kJ | $0.30 | ~30 g |
| Eggs | 12.6 g | ~600 kJ | $0.50 | ~25 g |
| Milk (full cream or skim) | 3.4 g | ~250 kJ | $0.15 | ~23 g |
| Chicken breast (bulk pack, raw) | 23 g | ~450 kJ | $1.10 | ~21 g |
| Firm tofu | 12 g | ~550 kJ | $0.60 | ~20 g |
| Frozen white fish (basa / hoki) | 17 g | ~350 kJ | $0.90 | ~19 g |
| Tinned tuna in springwater | 24 g | ~450 kJ | $1.30 | ~18 g |
| Greek-style yoghurt (1 kg tub) | 9 g | ~400 kJ | $0.50 | ~18 g |
Cheapest protein with the fewest kilojoules
Protein per dollar and protein per kilojoule are not the same question. If you want protein while keeping the energy number low, this is the order that matters - all high-protein, all low in kJ per 100g:
| Food | Protein /100g | Energy /100g |
|---|---|---|
| Egg whites | 11 g | ~200 kJ |
| Skim milk | 3.6 g | ~150 kJ |
| White fish (basa / hoki), frozen | 17 g | ~350 kJ |
| Tinned tuna in springwater | 24 g | ~450 kJ |
| Chicken breast, skinless | 23 g | ~450 kJ |
| Firm tofu | 12 g | ~550 kJ |
How to read the panel so cheap protein jumps out
- Per 100g is the only fair column. "Per serve" is whatever size the brand decided, so two packs are never comparable on it. Per 100g they are - and dividing the protein per 100g by the price per 100g gives you protein per dollar in one step.
- Dry weight flatters legumes and oats, and that is fine. Dried lentils look enormous per 100g because they have not soaked up water yet. They still cost almost nothing per gram of protein once cooked - the water is free.
- Watch the energy column on the top-ups. Peanut butter and cheese are strong protein per dollar but carry a lot of kilojoules, so they earn a spot as a top-up, not as the base of the meal. The panel tells you both at once.
- Home-brand is usually the same panel for less. On staples like tinned legumes, oats, milk and eggs the home-brand and the name-brand are near-identical per 100g - you are paying for the label, not the food.
- Energy is in kilojoules by law here. The Cal-in-brackets is optional; the kJ is the real one, and it is the same number on every Australian pack, so there is no US-calorie converting to do.
Compare protein value in the aisle, not at home
OzCal reads the panel off the barcode or a search and shows kilojoules and protein per 100g, so you can compare two products where you actually decide - in front of the shelf: snap it, scan the barcode or search it. Kilojoules the way the label shows them, on 85,621 verified Australian foods.
Common questions
What is the cheapest source of protein in Australia?
Dried legumes (red lentils, split peas, dried chickpeas) give the most protein per dollar - roughly 60 to 90 g of protein per $1 at typical home-brand prices - followed by rolled oats, eggs, milk and tinned legumes.
How do I compare protein value between two products?
Use the per-100g column, not per serve. Divide the protein per 100g by the price per 100g to get protein per dollar. Per serve is whatever size the brand chose, so it cannot be compared between packs.
Is cheap protein always high in kilojoules?
No. Tinned tuna in springwater, skim milk, egg whites, white fish and tofu are high in protein and low in energy. Peanut butter and cheese are good protein per dollar but far higher in kilojoules, so they are a top-up, not a base.
Do I need an app to find cheap protein?
No - the per-100g habit is the real skill and the label already has the numbers. An app just makes it faster: OzCal reads the panel off the barcode or a search in kilojoules and shows protein per 100g so you can compare two products in the aisle without maths.
Keep reading
Citing this page. OzCal (2026). "Cheapest High-Protein Foods in Australia (Protein Per Dollar) | OzCal". Retrieved from https://ozcal.com.au/kilojoules/cheapest-high-protein-foods-australia. Last updated 2026-09-21. Figures are per 100g as stated, converted at 1 Cal = 4.184 kJ.