Add the warm water, yeast, and sugar to the bowl of a stand mixer.
Let the mixture stand until foamy, about 5-10 minutes.
Stir in the oil and the eggs until combined.
Add 2 cups of flour and the salt.
Mix on low for 30 seconds.
Switch to the dough hook.
Continue to mix on low, adding in 1/4 cup of flour at a time, until the dough forms a ball and clears the sides of the bowl. The dough should a little sticky to the touch but shouldn't come off on your fingers if you pinch it.
Cover the bowl in plastic wrap or with a kitchen towel.
Let the dough rise in a warm spot until doubled in size, about 1 hour.
Punch down the dough and turn the dough out onto a lightly floured surface.
Divide the dough into 3 equal pieces.
Roll each piece into a rope that's 15 inches long.
Grease a large baking sheet or line with a silicone baking mat or parchment paper.
Place the 3 ropes parallel to one another lengthwise on the pan.
Pinch the top of the ends together.
Braid the ropes together.
Pinch the ends together and tuck the ends underneath the braid.
Loosely cover the braid with plastic wrap or a kitchen towel and let rise for 45 minutes.
Toward the end of the second rising time, preheat the oven to 375 F.
To prepare the egg wash, stir together the egg and the cream.
Brush the egg wash over the dough.
Bake until golden brown, about 25-30 minutes.
Let the bread cool on the baking sheet for 5-10 minutes.
Remove to a wire baking rack to cool to room temperature.