To the bowl of a stand mixer, mix together the warm milk, instant yeast and granulated sugar. Let sit until foamy and you smell the yeast activating.
Add the olive oil, salt, whole wheat flour and 4 cups of the bread flour. Knead together, adding a little more flour at a time as needed. The dough should pull away from the sides of the bowl and be tacky but not overly sticky. Knead for 8 minutes (set a timer and let the mixer do the work for you, or knead for 10 minutes by hand). The kneading time is very important because it develops the gluten, creating good structure, chewy crust and a tall bowl to hold the soup in.
Lightly oil a container and transfer the dough to the container for the first rise. Let the dough rise until doubled or tripled in size, about 1 1/2 hours. For more flavor and chewy texture, stick the dough in the fridge to rise for 8-24 hours. Then proceed with the shaping and follow the recipe.
Once the dough has risen, cut the dough into six pieces. Shape into large round spheres, pulling the dough tightly into a large round ball. Watch how I shape rolls here. Place rolls on a parchment-lined baking sheet (affiliate link). Cover and let rolls rise for about an hour. Preheat oven to 425 degrees Fahrenheit. Once rolls are puffed up, score the top with a bread lame or sharp knife.
Toss a handful of ice cubes into the preheated oven and immediately put the pan of bread bowls into the oven. Bake for 25-28 minutes until crusty and golden. Top immediately with melted butter if desired.
Let bread bowls cool completely before cutting a hole in the center and using your fingers to pull out the interior of the bread bowl. Fill with your choice of soup and enjoy!