Pão de queijo
Cassava starch scalded with hot milk and oil until it turns glossy, then bound with egg and cheese. Crackled outside, stretchy inside, gluten-free because there is no wheat in the bowl.
- Prep
- 45 min
- Cook
- 28 min
- Serves
- 24 medium balls, or about 30 cocktail puffs
- Difficulty
- Medium
Researched · Kitchen testing pending

The dough for pão de queijo does not behave like wheat dough, and that is the whole point. Cassava starch gelatinizes when it meets hot milk and oil, turning from dusty powder into a glossy, stretchy mass that grabs egg and cheese. I learned to stop looking for gluten development and start watching for that shiny, pliable paste instead.
These are Minas-style cheese breads — crackled outside, stretchy-chewy inside, gluten-free by nature because there is no wheat in the bowl.
From a cold kitchen to the first hot puff is under 90 minutes if you work clean, and the dough will rest or chill if you need a pause.
I eat the first one standing at the counter, broken open so the steam hits my face, checking that the interior stretches before I call the tray done. When the crumb pulls and the crust crackles between my fingers, the batch is good.
The dough
- 250 g2 cupsPolvilho azedo (sour cassava starch)the primary starch — this is what gives the tang and the chew
- 100 g¾ cup plus 1 tbspPolvilho doce (sweet cassava starch)softens the crumb and makes the dough easier to shape
- 200 ml¾ cup plus 1 tbspWhole milk
- 100 ml⅓ cup plus 1 tbspNeutral oilor half oil and half melted unsalted butter, for a richer aroma
- 1 tsp1 tspFine saltpull back if your cheese is very salty
- 100–110 g2 largeEggs, room temperature, lightly beatenweighed without shells
The cheese — read the note below
- 200 g7 ozQueijo Minas, fresh or lightly aged, finely gratedmild, milky, clean. If you cannot find it, see the labelled Parmesan and mozzarella departure
Optional
- a pincha pinchCayenne or freshly ground black pepper, in the dough
- 2 tbsp2 tbspExtra grated Parmesan, for dusting the traysa departure — traditional puffs go on the tray bare
Weigh the starch
Cups of polvilho pack inconsistently — the same cup can be off by a good 30 g depending on how the bag settled in the shop. A digital scale is the single thing that makes this recipe repeatable.
When Minas is not in the shop
Labelled departure: 120 g / 4.2 oz Parmesan or Grana for salt and bite, plus 80 g / 2.8 oz low-moisture mozzarella for stretch and mildness. Mix them thoroughly. This is not the same as Minas, and I say so if I serve guests who know the difference. Avoid wet fresh mozzarella packed in brine. It throws off the dough hydration and bakes into flat puddles.
Azedo, doce, and the tapioca starch in the Asian aisle
Polvilho azedo is fermented and acid-treated, and it behaves differently from neutral tapioca starch — it is where the tang and the snap come from. If your bag only says "tapioca starch," treat it as doce and expect a milder chew. Seek azedo at a Brazilian or Latin market when you can. All azedo works and comes out chewier and tangier. All doce works and comes out softer, with less snap.
Everything at room temperature
Except the milk and oil, which get scalded. Cold eggs and cold cheese drop the dough temperature and make it seize.
Equipment
- A medium saucepan, for scalding the milk and oil
- A heatproof mixing bowl, or a stand mixer bowl
- A sturdy wooden spoon or silicone spatula — a stand mixer with the paddle is optional
- A digital scale
- Baking sheets lined with parchment
- A small cookie scoop, about 1½ tbsp / 4 cm, or a piping bag with a large round tip
- A wire rack
An instant-read thermometer helps the first time, for the milk-oil mix and for the cooled paste. After one batch you will know both by eye and by hand.
Method
Heat the liquid5 min
Milk, oil (and butter if you are using it), and salt into the saucepan. Heat over medium until it reaches a hard simmer — small bubbles around the edge and real steam, about 90–95 °C / 195–205 °F.
You want it hot enough to gelatinize the starch on contact, not a long rolling boil that drives off the liquid. If it does boil hard for a minute, top up with a splash of milk to bring the volume back. Kill the heat.
Heat milk, oil, optional butter and salt over medium to a steaming simmer, about 90–95 °C / 195–205 °F. Avoid prolonged boiling; if it boils hard for a minute, replace evaporated volume with a splash of milk. Turn off heat.
Scald the starch — the step the whole recipe turns on3 min
Both polvilhos into the heatproof bowl. Pour the hot milk-oil mixture over them in one motion and stir immediately with the wooden spoon.
The mass looks shaggy, then coalesces into a thick, translucent, sticky paste with a sheen of fat on top. It should smell faintly sweet and starchy, like hot tapioca. If dry white pockets remain, keep stirring and folding — the heat has to reach every grain.
Why it matters: cassava starch needs that thermal shock to swell and form the elastic network that stands in for gluten. Cold milk gives you sandy, crumbly puffs that crack apart instead of stretching.
Now let the paste cool to warm, not hot — about 45–50 °C / 113–122 °F, or until you can hold a knuckle against it for five seconds without flinching. Hot dough scrambles the eggs.
Weigh both starches into a heatproof bowl. Pour hot liquid over them at once and stir immediately until sticky, translucent and free of dry pockets. Cool to 45–50 °C / 113–122 °F before adding eggs so they do not scramble.
Add the eggs3–5 min
Beaten eggs in two additions, mixing fully after each.
The dough will look like it is rejecting the egg — slippery and broken — and then suddenly come back smooth and cohesive. That break-and-return is normal. Do not panic and add starch during the broken phase.
The finished paste should be glossy, soft, and sticky enough to cling to the spoon without pouring like batter. Too soupy: 1–2 tbsp more polvilho azedo. Stiff like play-dough, cracking when pinched: wet your hand with milk and knead in 1–2 tsp at a time.
Mix room-temperature beaten eggs in two additions, fully incorporating each; temporary separation is normal. Aim for glossy, sticky dough that does not pour. If soupy, add 1–2 tbsp azedo; if stiff and cracking, knead in milk 1–2 tsp at a time.
Add the cheese2 min
Fold in the grated cheese until it is evenly distributed — specks throughout, no dry clumps. The dough should smell of cheese now: milky if you found Minas, nutty if you are on the Parmesan path.
Taste a pea-sized bit for salt. Raw egg risk is real — a tiny taste only, or fry a teaspoon in a skillet if you would rather not.
If the dough feels tight, rest it 10–15 minutes at room temperature; it relaxes and scoops cleaner. Or chill it up to 24 hours covered — cold dough balls more neatly but needs 2–3 extra minutes in the oven.
Fold in room-temperature grated cheese evenly; use Minas or the stated Parmesan and low-moisture mozzarella blend, never brined mozzarella. Fry a teaspoon to check salt. Rest tight dough 10–15 minutes, or refrigerate covered up to 24 hours, allowing 2–3 extra baking minutes.
Shape — balls or piped10–15 min
Balls, the classic look: lightly oil your palms or dust them with a whisper of polvilho. Scoop 35–40 g portions and roll them gently into spheres. Do not compress hard — densely packed dough bakes into hockey pucks. Line them 3–4 cm / 1¼–1½ in apart; they puff outward.
Piped, faster for a crowd: a large round tip, 15–18 mm. Pipe mounds the size of walnuts, then tamp the peaks with a wet fingertip so they do not scorch into sharp burnt tips.
Leave the space either way. Crowded trays steam and stay pale.
With lightly oiled or starch-dusted palms, gently roll 35–40 g balls without compressing; space 3–4 cm / 1¼–1½ in apart. Alternatively pipe walnut-sized mounds through a 15–18 mm round tip and flatten peaks with a wet finger, keeping the same spacing.
Bake20–28 min per tray
Oven at 200 °C / 400 °F conventional, or 190 °C / 375 °F fan. One tray at a time in the centre of the oven if yours has hot spots.
At 10 minutes: risen, with pale cracks starting to show. That crackle is the thing you are looking for.
At 18–22 minutes: light gold outside, deeper gold down in the fissures, interiors still soft. They sound hollow-ish when tapped and will firm as they cool.
Done: deep ivory to light amber, crackled crust, bottoms set and barely coloured. Sacrifice a corner puff and break it open — cheese strands should pull a little and the crumb should look glossy and elastic, like a soft tapioca gel with cheese in it. Not doughy-wet, not dry and cakey.
Why 200 °C: high heat sets the exterior fast so steam and expanding air inflate the inside before the structure locks. At 160 °C / 320 °F they dry out without puffing. At 230 °C / 450 °F the outside hardens dark while the centre stays gummy.
Bake at 200 °C / 400 °F conventional or 190 °C / 375 °F fan for 20–28 minutes, one central tray if heat is uneven. Expect pale cracks by 10 minutes and light-gold crusts at 18–22 minutes. Check set bottoms and glossy, elastic cheese strands inside, not wet dough. Avoid 160 °C / 320 °F, which dries without puffing, or 230 °C / 450 °F, which hardens the outside before the centre sets.
Cool barely, then eat3 min
Three minutes on the sheet, then onto a rack. Eat warm.
Cold pão de queijo is still good. Reheated is better than room temperature an hour later.
Leave the puffs on the baking sheet for 3 minutes, then transfer to a rack. Serve warm, while the crust crackles and the cheese-filled centres stretch.
What right looks and feels like
The scalded starch
Shiny, elastic, slightly translucent paste. Not floury, not an oily soup.
After the eggs
Smooth and sticky. The spoon leaves a soft peak that slowly sinks back.
After the cheese
Speckled, fragrant, still scoopable.
In the oven
Visible rise by minute 8–12. The surface cracks like dried mud in miniature — that is what you want.
Out of the oven
A crackle when you bite. The interior pulls in strings. It smells of toasted cheese and clean starch.
The two failure smells
Burnt cheese means the tray sat too dark or the oven ran too hot. Raw starch and egg means an underbaked centre — send them back in for 3–5 minutes.
Storing it
Keeping them
Best: the same day, warm from the oven or reheated. Room temperature: airtight, up to 1 day. The texture softens and the crackle fades. Fridge: 3 days sealed, and reheat before eating. Freeze baked: cool completely, freeze in a single layer, then bag up to 2 months. Reheat from frozen at 180 °C / 350 °F for 8–12 minutes. Freeze raw: scoop onto a sheet, freeze solid, bag. Bake from frozen at 200 °C / 400 °F with 4–6 minutes added. No thawing.
Reheating, and the microwave
Oven or air fryer beats the microwave every time. The microwave makes them briefly soft and then tough. If you must, 10–15 seconds and eat immediately.
Raw egg and dairy
The dough contains raw egg. Do not leave unbaked dough sitting warm on the counter for hours — chill it if you are delaying, and do not eat it raw in quantity. If dough that sat out smells sour or off before baking, discard it. Do not bake spoiled dairy dough.
Troubleshooting
- Flat, greasy discs instead of puffs.
The liquid was too cool when it hit the starch, so nothing gelatinized — or there was too much oil, or the cheese was wet brined mozzarella. Remake with properly hot liquid, drain or replace the cheese, and cut the oil by 1–2 tbsp next time.
- Dense, with no puff at all.
Oven running cool, or the dough was overworked after the cheese went in. Check the oven with a thermometer and handle the dough gently. You should not need any chemical leavening here — if someone added baking powder, that is not what makes these rise.
- Crumbly rather than chewy.
All polvilho doce, not enough egg, or the starch never got hot enough. Blend in azedo next batch, add a yolk, and scald harder.
- Gummy wet centres.
Underbaked, balls too large, or the rack sat too high so the tops browned while the middles stayed raw. Bake longer, scoop smaller, use the centre rack, and tent with foil if the tops run ahead.
- Too salty.
A Parmesan-heavy blend, or a salty Minas. Cut the salt in the liquid and shift the blend toward mozzarella or a milder cheese next time.
- Blisters that burn.
Sharp piped peaks, or sugar hiding in a cheese blend. Tamp the peaks and check the cheese ingredients.
- The dough is impossibly sticky.
A warm kitchen, soft cheese, and high hydration together. Chill it 20–30 minutes, scoop with wet or oiled hands, and dust lightly with polvilho.
Substitutions
Traditional — the Minas path I treat as default
A mix of polvilho azedo and doce, queijo Minas, milk and oil, egg, salt, hand-rolled balls, a hot oven, served warm with coffee.
Departures I use, and label
Parmesan and mozzarella when Minas is not in the shop — always named as a substitute, never as "authentic Minas." All azedo when doce is missing: chewier, more tang. All doce when azedo is missing: softer, less snap, still worth eating. Butter replacing half the oil, for a richer aroma and slightly browner bottoms. Piped mini puffs for parties. Herbs or chilli in the dough for a snack platter.
Fun, but not pão de queijo
Filled with dulce de leche or cream cheese. Blended into a pourable batter and baked in muffin tins — that is a related snack with a different texture, not the scald-and-stir ball. Olive oil works, but the flavour shows; extra-virgin makes a Mediterranean-leaning version, so label it.
Do not
Wheat flour "to help" the dough. It destroys the entire point of the recipe, and it takes the gluten-free claim with it.
Scaling
Keep your portion weight consistent when you compare bake times across batches — a 30 g ball and a 45 g ball are not the same recipe.
Half and double
Half: halves cleanly. Use a small saucepan so the liquid does not scorch. Bake time is nearly identical for the same-size balls. Double: scald the starch in two bowls, or one very large heatproof bowl, so you can stir fast before the mix cools unevenly. Bake trays in rotation and keep the unbaked balls chilled, or the second and third trays sit warm and spread.
If a scaled-up dough feels stiff
Add an egg white or a tablespoon of warm milk. Do not fix stiffness by dumping in more oil — that is how you get greasy discs.
What to serve it with
Strong Brazilian coffee or café com leite is the classic morning and afternoon pairing.
- Hot chocolate, for kids
- Alongside soup or salad, when you want gluten-free bread on the table
- Smaller puffs with sparkling wine or beer, as a cocktail snack
- A breakfast plate of fruit, eggs, and a pile of warm ones
Soft salted butter is unnecessary, but some people insist. I put it out and rarely touch it. No jam either — the cheese is the flavour.
Questions
Is it really gluten-free?
Yes, made with cassava starch and no wheat contamination. Use clean bowls and fresh parchment if you are baking for someone with celiac disease. Shared flour dust in a bakery is a separate risk and not one this recipe can solve.
What is the difference between polvilho and tapioca starch?
Often the same plant — cassava, manioc, yuca. But polvilho azedo is fermented and acid-treated, and it behaves differently from neutral tapioca starch. A bag labelled only "tapioca starch" is closer to doce.
Can I make the dough in a blender?
Some cooks blend the hot liquid, starch, eggs, and cheese into a pourable batter for muffin tins. That is a related snack, not this texture. I stick to the scald and the spoon for crackle and chew.
Why did mine taste bland?
Cheese too mild, under-salted, or underbaked so there was no browning on the crust. Use a sharper cheese fraction, a pinch more salt, and bake to real gold down in the cracks.
Can I use a stand mixer?
Yes — the paddle, on low, after the scald. Do not walk away on high speed. You want it combined, not whipped full of big bubbles that collapse in the oven.
How do I reheat a crowd's worth without babysitting?
Spread frozen baked puffs on a tray at 180 °C / 350 °F for about 10 minutes while you set the table. They should hiss faintly and smell like toasted cheese again.
Is there an egg-free version?
Not one I publish. Commercial egg replacers change the structure and aquafaba alone is unreliable here — it would be a different recipe with different chemistry, not a swap.