Make perfect homemade bagels at home with this easy step-by-step recipe. The bagels are easily customizable with your favorite toppings!

I originally published this recipe in 2011 and have since added new photos and additional recipes notes, as well as a few recipe enhancements, to make this recipe better than ever!

Lots of homemade bagels together on baking sheet with the center bagel loaded with everything bagel seasoning.

One reader, Nancy, commented: Thanks so much for this absolutely delicious recipe! Followed your recipe exactly, (used sesame seeds as the topping), and they are every bit as good as any bagel shop we’ve ever been to, and oh-so-much better than any grocery store brand. ⭐️⭐️⭐️⭐️⭐️

Why You’ll Love This Bagel Recipe

  • The bagels are straightforward and easy to make at home – the recipe doesn’t require any overnight starters or lengthy instructions.
  • The bagels are incredibly delicious with a perfect fluffy-chewy texture.
  • It is very easy to customize the bagel toppings to your tastes.
  • The baked bagels freeze extremely well, so you can make large batches and freeze for later breakfasts, snacks, or bagel cravings.
  • This is the perfect recipe for beginner bread makers. SO MANY people have commented that they struggle making yeast doughs or they are brand new to breads or they are scared to make homemade bagels…but they tried this recipe and the bagels turned out amazing!
One half of homemade bagel slathered with cream cheese on top of sesame seed top half.

How to Shape Homemade Bagels

  1. Turn the dough out onto a lightly greased work surface and divide the dough into eight equal pieces, about 115 g/4 ounces each.
  2. Roll each piece of dough into a smooth, taut ball. Let the balls of dough rest for 30 minutes. This helps relax the gluten so that when they are shaped, the dough holds its shape without stubbornly springing back.
  3. Use your thumb to poke a hole through the very center of each ball then use both thumbs together to twirl and stretch the dough until the hole is 1 to 2 inches in diameter (the bagel will be around 4 inches across).

The most important thing you can remember when shaping homemade bagels is to let go of perfection! Not all of them will look the same, and some of them may have thin/thick spots. It’s ok! It gives the bagels personality…and they all taste delicious regardless of how they look.

Why are Bagels Boiled Before Baking?

There are several reasons why bagels need the necessary boiling step.

  1. Boiling the bagels helps develop the signature chewy texture. The steaming hot water cooks the very outside layer of the bagel allowing it to rise in the oven but not as much as it would without the water bath. This is what helps create the classic dense, chewy texture.
  2. The sweetener in the water (either sugar or honey) also helps the bagels develop a beautifully golden crust while baking.

Bagels that aren’t boiled prior to baking end up just simply posing as a quirky dinner roll with a hole in the center instead of the gloriously chewy, delicious bagel they were meant to be.

Best Bagel Toppings

To get bagel toppings to stick, brush the tops and the sides of each bagel with a simple egg wash (1 egg white + 1 tablespoon water). For maximum coverage, place the toppings in a shallow bowl and dip the bagels, turning to coat the top and sides. Or simply sprinkle them on top.

Our favorite bagel toppings are:

  • Sesame seeds
  • Finely grated Asiago or Parmesan cheese
  • Sesame seeds
  • Coarse salt
  • Cinnamon and sugar

Of course, you can also leave the bagels plain. If doing so, the egg wash is optional (but adding it will further help the golden brown crust to develop).

A Few Additional Tips

Making bagels at home is not hard, but it can be helpful to keep the following tips in mind:

  • The dough for homemade bagels is stiffer than a dinner roll or sandwich bread dough. This is by intention. Because the bagels are boiled before baking, a lower hydration dough, like bagel dough, holds up to the boiling water bath without disintegrating and the result is a perfectly chewy bagel.
  • I highly recommend investing in a kitchen scale {aff. link} and weighing ingredients, particularly dry ingredients like flour. If you measure your flour in cups, lightly fluff the flour, scoop in the cup and then level off.
  • If you live in an excessively dry climate, you may want to start with 1/4 cup less flour and add remaining flour only if the dough is sticking to the sides and bottom of the bowl. 
  • Keep a timer going during the boiling step – it may seem counter intuitive, but boiling the bagels longer won’t result in a better bagel. They just need a minute or so per side, max.

Most of all, have fun with this recipe! This has been a favorite recipe of ours for over ten years. My kids love to help with shaping the bagels, choosing the toppings, and of course, devouring the bagels after they’ve baked and (barely) cooled.

Lots of homemade bagels together on baking sheet with the center bagel loaded with sesame seeds.

Perfect Homemade Bagels

4.83 stars (125 ratings)

Ingredients

Dough:

  • 1 tablespoon instant or rapid-rise yeast
  • 4 cups (568 g) bread flour (see note)
  • 2 teaspoons salt
  • 1 tablespoon brown sugar
  • 1 ½ cups warm water

Water Bath:

  • 2 to 3 quarts water
  • 2 tablespoons brown sugar
  • 1 tablespoon granulated sugar (see note for honey option)

Egg Wash:

  • 1 large egg white
  • 1 tablespoon water

Optional Toppings:

  • Sesame seeds, Everything Bagel seasoning, grated Parmesan or Asiago cheese, coarse salt, cinnamon and sugar, etc.

Instructions 

  • In the bowl of a stand mixer fitted with the dough hook, combine all of the dough ingredients and mix on low speed until the dough comes together. The dough will be fairly stiff (but shouldn't be dry).
  • Increase the speed to medium and knead the dough for 10 minutes. This is a high-gluten dough and the long kneading time is necessary to develop the gluten.
  • Place the dough in a lightly greased bowl and cover with lightly greased plastic wrap. Let the dough rise for 1 to 1 1/2 hours until noticeably puffy.
  • Turn the dough out onto a lightly greased work surface and divide the dough into eight equal pieces, about 115 g/4 ounces each. Roll each piece of dough into a smooth, taut ball. Let the balls of dough rest for 30 minutes.
  • Line two half sheet pans with parchment paper and lightly grease with cooking spray.
  • Use your thumb to poke a hole through the very center of each ball then use both thumbs together to twirl and stretch the dough until the hole is 1 to 2 inches in diameter (the bagel will be around 4 inches across). Place the shaped bagels on one of the prepared baking sheets.
  • For the water bath, add the water and sugars (or honey – see note) to a large, wide pan or pot and bring to a boil.
  • Preheat oven to 425°F.
  • Transfer the bagels, three or four at a time, to the simmering water. I like to gently re-stretch the center of the bagel if it has closed up while the bagels have rested. This is optional; if you do the same, make sure to stretch gently so as not to deflate and compress the bagel.
  • Cook the bagels for 1 minute. Flip and cook for another minute. Use a wide spatula to lift each bagel up, letting the excess water drain back into the pot. Place the boiled bagels onto the prepared baking sheet, spacing them several inches apart. I bake six bagels per half sheet pan.
  • Repeat with the remaining bagels.
  • For the egg wash, whisk together the egg and water. Brush the top and sides of each bagel and then sprinkle with desired toppings: sesame seeds, everything bagel seasoning, cinnamon and sugar, coarse salt, grated Asiago or Parmesan cheese, or other toppings of choice. If leaving the bagels plain, the egg wash is optional.
  • Bake the bagels for 20 to 25 minutes until golden brown. Remove the bagels from the oven, and transfer to a cooling rack to cool completely (don't let them cool completely on the baking sheet as they have a tendency to stick due to the sugar/water bath).

Notes

Flour: I have tested this recipe in multiple locations (currently I live at 2,500 feet in a dry climate, but I made this recipe when I lived at sea level in a semi-humid climate and also when I lived at 6,200 feet elevation). The amount of flour listed in the recipe has been just about spot on for every location. Using the weight measure is a safer bet than measuring in cups. If you do measure in cups, lightly fluff the flour before scooping in the cup and leveling off. If you live in an excessively dry climate, you may want to start with 1/4 cup less flour and add remaining flour only if the dough is sticking to the sides and bottom of the bowl. 
Bread Machine: to use a bread machine, place all of the dough ingredients in the pan of the machine, program the machine for Dough or Manual, and press Start. Check the dough after 10 minutes; it should be quite stiff, and won’t have formed a smooth ball. The dough will feel quite firm when you poke your finger into it. Allow the machine to complete its cycle, then continue with the recipe.
Honey: more often than not, I replace the 3 tablespoons sugar with 3 to 4 tablespoons honey.
Multiple Baking Sheets: if you are baking the bagels on multiple baking sheets and only have one oven, it’s ok for the 2nd baking sheet to rest and bake after the first one. Avoid baking two baking sheets at once – the bagels on the bottom baking sheet likely won’t brown well (if at all).
Increasing the Recipe for One Dozen Bagels: I almost always increase the recipe to make 1 dozen bagels (we love having them in the freezer). To do so, use the following measurements:
1 1/2 tablespoons yeast
6 cups bread flour
1 tablespoon salt
1 tablespoon grown sugar
2 1/4 cups warm water
Serving: 1 Bagel, Calories: 250kcal, Carbohydrates: 51g, Protein: 8g, Fat: 1g, Saturated Fat: 1g, Sodium: 598mg, Fiber: 2g, Sugar: 6g

Recipe Source: adapted slightly and expounded upon from King Arthur Flour

Recipe originally published April 2011; updated September 2025 with new photos, recipe notes, etc

Cheese-topped bagels on a cooling rack.
step-by-step collage of how to make bagels from scratch