Pasta sauce without heavy cream, and what each way actually costs
Butter, parmesan and starchy pasta water is the creamiest answer, and it is barely lighter than cream. Seven methods, compared on macros per serving.

The creamiest sauce without heavy cream is not a substitute for cream at all. It is cold butter and finely grated parmesan whisked into the starchy water the pasta cooked in, until the fat and the water bind. Three ingredients, no cream, and a texture cream cannot quite reach.
The part nobody mentions is that it is barely lighter than the cream version. If you came here to cut calories rather than to cook around an empty fridge, the answer is a different one, and it is further down this page.
Every way, and what each one costs
Figures are for the sauce alone, per serving, tossed through about 100 g of dried pasta a head. They are estimates calculated from typical ingredient values rather than measured, and they move with brand and with how heavy a hand you have. Pasta is not counted, because it is the same in every row.
| Method | kcal | Protein | Carbs | Fat |
|---|---|---|---|---|
| Heavy cream, the baseline | 205 | 1 g | 2 g | 22 g |
| Butter and parmesan | 185 | 7 g | 1 g | 17 g |
| Cream cheese | 175 | 6 g | 2 g | 16 g |
| Blended cottage cheese | 155 | 16 g | 4 g | 8 g |
| White bean purée | 155 | 7 g | 20 g | 5 g |
| Tinned coconut milk | 120 | 1 g | 2 g | 13 g |
| Whole milk and a roux | 100 | 3 g | 7 g | 6 g |
| Evaporated milk | 80 | 4 g | 6 g | 5 g |
Two things fall out of that table, and they are the reason it is worth reading past the first paragraph.
The authentic answer is not the light answer. Butter and parmesan comes in about 10% under cream. That is a rounding error, not a saving.
Cottage cheese is doing something the others are not. Sixteen grams of protein in the sauce, before the pasta or anything you put on top, against one gram for cream. Nothing else here is close.
How much for how many
Set how many you are feeding. Every quantity below is for the sauce alone, tossed through about 100 g of dried pasta a head.
| Method | What to buy | Per serving of sauce |
|---|---|---|
| Heavy creamthe baseline, for comparison | 240 ml heavy cream | 205 kcal1 g protein22 g fat |
| Butter and parmesanreal alfredo, emulsified with pasta water | 60 g butter + 80 g parmesan | 185 kcal7 g protein17 g fat |
| Whole milk and a rouxbechamel, the most forgiving of these | 300 ml whole milk + 20 g butter + 20 g flour | 100 kcal3 g protein6 g fat |
| Evaporated milkstraight from the tin, no roux needed | 240 ml evaporated milk | 80 kcal4 g protein5 g fat |
| Blended cottage cheeseoff the heat, or it splits | 400 g cottage cheese + 60 g parmesan | 155 kcal16 g protein8 g fat |
| Cream cheeseloosened with pasta water | 160 g cream cheese + 40 g parmesan | 175 kcal6 g protein16 g fat |
| Tinned coconut milkdairy free, and it tastes of coconut | 240 ml full fat coconut milk | 120 kcal1 g protein13 g fat |
| White bean pureedairy free, and 20 g of carbs a serving | 400 g drained cannellini + 4 tsp olive oil | 155 kcal7 g protein5 g fat |
Macro figures are estimates calculated from typical ingredient values rather than measured, and they are per serving, so they stay put while the quantities move. Pasta is not counted, because it is the same in every row.
Without cream does not mean lighter
This is worth saying plainly because almost every page answering this question implies the opposite. “Without heavy cream” reads as a health claim, and four of the six recipes ranking for it replace 240 ml of cream with 60 g of butter and 80 g of parmesan, which is 70 g of fat against cream’s 86 g.
It is a better sauce. It is not a light one.
If the reason you are here is that the recipe wanted cream and there is none in the fridge, take the butter and parmesan route and stop reading. If the reason is the numbers, the honest ranking is evaporated milk, then a milk based béchamel, then blended cottage cheese if you want the protein with it.
Our alfredo without cream recipe says the same thing on its own page, for the same reason.
There is a middle route if you would rather keep the cream sauce and simply make it lighter. Light crème fraîche, used 1:1 and stirred in at the end, still behaves like cream in the pan as long as it does not boil, and it is the swap ReciPop’s Pop feature makes when you ask a recipe for less fat. The heavy cream substitutes page compares it with every other option.
Pop, in ReciPop
Make swaps like this on any recipe, in one tap
- Open any recipe, one you saved from a link or one of the 34,000+ in the app.
- Tap Pop and pick more protein, fewer carbs or less fat.
- See each swap's macros per serving, keep the ones worth it. Your original stays untouched.
Which one for which job
| You want | Use | Why |
|---|---|---|
| The best texture | Butter, parmesan, pasta water | Nothing else coats like a proper emulsion |
| The closest swap for cream | Whole milk thickened with a roux | Same pour, same body, needs five minutes more |
| The lightest | Evaporated milk | Cream’s concentration without cream’s fat |
| The most protein | Blended cottage cheese | Around 16 g a serving in the sauce alone |
| Dairy free | Tinned coconut milk or white bean purée | Coconut brings flavour, beans bring carbs |
| A tomato sauce made creamy | A spoon of any of the above, stirred in late | You need body, not a whole sauce |
| No dairy and no nuts | White bean purée | The only row here that clears both |
Creamy pasta sauce with milk
Milk is about 3% fat against heavy cream at 36%. Pour it into a hot pan and it will not coat the pasta, and the moment cheese goes in it is likely to split. Thicken it first.
Per serving: melt 5 g of butter, stir in 5 g of plain flour and cook it for a full minute until it smells like biscuits rather than raw flour, then add 75 ml of whole milk a splash at a time, whisking between each. It will look far too thin, then thicken all at once.
Two details decide whether this works. Cook the flour before the milk goes in, or the sauce tastes of paste. And add the milk in stages, because all of it at once gives you lumps that no amount of whisking will fully clear.
Skimmed milk will do it, and the sauce will be thinner and duller. This is one place where the fat is doing real work.
Pasta sauce without heavy cream or milk
Three routes, and they are not interchangeable.
The emulsion. Butter, parmesan and pasta water contains no milk in the sense that matters, though butter and cheese are both dairy. If the problem is lactose rather than dairy, parmesan aged over about two years has very little of it left, and butter has almost none.
Tinned full fat coconut milk. Genuinely dairy free, about 21% fat, and it tastes of coconut no matter what else you put in. That makes it wrong for a garlic and parmesan sauce and right for anything with tomato, chilli or spice in it. Use the tinned kind, not the carton, which is a drink and will not thicken.
White bean purée. Blend a drained tin of cannellini with a splash of pasta water and a teaspoon of olive oil a head until completely smooth. It is the only option here that is free of dairy and nuts both. It brings about 20 g of carbs a serving, which is the trade, and it needs more salt and more acid than you think: a squeeze of lemon at the end is what stops it tasting of beans.
Pasta sauce without cream or cheese
The béchamel above, made with milk, needs no cheese to work. So does the bean purée, and so does the coconut. What you lose without cheese is salt and savour, so replace it deliberately rather than hoping: more salt than feels right, a little lemon or vinegar, and something with depth in it such as miso, a sun-dried tomato or a few capers.
Creamy tomato pasta sauce without cream
Do not build a cream sauce and then add tomato. Build the tomato sauce properly and make it creamy at the end.
Cook your tomato sauce as usual, take the pan off the heat, then stir in one of: a heaped spoon of blended cottage cheese, a spoon of cream cheese, or a splash of evaporated milk. All three carry enough body to turn the sauce from red to coral without watering it down, which is what happens if you use milk.
Off the heat is not a suggestion here. Acid and heat together are what split a dairy sauce, and a tomato sauce is acidic by definition.
The two ways these sauces fail
Splitting. Almost always heat. Cottage cheese, cream cheese, yogurt and milk all curdle well below boiling, and the lower their fat the sooner they go. The fix is the same for all of them: take the pan off the heat completely, wait about a minute, then stir the dairy in. Return it to the lowest heat only if it needs loosening, and add pasta water rather than letting it reduce.
Grainy parmesan. Pre-grated cheese carries an anti-caking starch, usually cellulose or potato, and it does not melt cleanly into an emulsion. Grate it from a block, as finely as you can manage, and add it off the heat. Cheese that has gone grainy will not come back.
There is a third, less common one worth knowing: a sauce that is perfect in the pan and claggy on the plate. That is starch continuing to set as it cools. Finish the sauce slightly looser than you want it, and keep a mug of pasta water back to loosen it at the table.
Where the cream was going anyway
If the cream was for something other than pasta, the swap is not the same. Our heavy cream substitute page covers whipping, baking, soup and coffee separately, because a substitute that works in a pan often fails in an oven. The cream cheese page does the same for baked and no-bake uses.
British readers, one warning. Double cream is not heavy cream. Double cream is around 48% fat and heavy cream around 36%, so a recipe written for heavy cream will come out heavier and more stable if you use double, and a recipe written for double cream may split if you use heavy. Single cream, at around 18%, will split in almost any hot pan.
Does any of this change the macros?
Yes, and by more than the cream question suggests. Swapping 60 ml of cream a serving for evaporated milk takes the sauce from an estimated 205 kcal to 80, and swapping it for blended cottage cheese adds an estimated 15 g of protein.
Those numbers are estimates. Every macro figure on this site is calculated from typical ingredient values and rounded, never measured in a laboratory, and we say so on every page for the reason set out in why recipe macros are estimates.
Two recipes on this site use the methods above rather than describing them: alfredo without cream for the butter and parmesan emulsion, and cottage cheese pasta sauce for the protein route, at an estimated 29 g a plate with the pasta counted.
Dishes to make next
- Healthy broccoli cheddar soup, and what Panera's bowl really costsThe same milk and roux base from that guide, loosened with stock into a soup.
- High protein mac and cheese that is still just mac and cheeseThe milk and roux sauce from that guide, carrying enough cheddar to turn it into mac and cheese.
Common questions
Whole milk thickened with a butter and flour roux is the closest one-for-one replacement, at roughly 75 ml milk with 5 g each of butter and flour per serving. Evaporated milk needs no roux at all and is the lightest of the dairy options. Blended cottage cheese gives the most protein by a wide margin. Full fat coconut milk is the dairy-free choice, and it tastes of coconut, so it suits a tomato or curried sauce rather than a garlic one.
Emulsify rather than substitute. Take the pan off the heat, add cold butter and finely grated parmesan to hot pasta and a few tablespoons of the starchy water it cooked in, then toss hard until the fat and the water bind into a glossy sauce. The starch is what holds it together, which is why pasta water works and tap water does not.
Usually only a little, and sometimes not at all. Our estimate puts 60 ml of heavy cream at about 205 kcal and 22 g of fat per serving, and the butter and parmesan version at about 185 kcal and 17 g of fat. The methods that genuinely cut the numbers are evaporated milk, a milk based bechamel and blended cottage cheese. All macro figures on this page are estimates calculated from typical ingredient values rather than measured.
Yes, but not by pouring it in straight. Milk is about 3% fat against cream at 36%, so it has neither the body to coat pasta nor the fat to protect it from splitting. Thicken it first with a roux, or reduce it with a little starchy pasta water, and keep it below a simmer once the cheese goes in.
No. Double cream is around 48% fat and heavy cream around 36%, so double cream is richer and far more stable in a hot pan. If a recipe written in the United States calls for heavy cream and you have double cream, use about three quarters as much and loosen with pasta water. Going the other way, heavy cream will split where double cream would have held.