Combine the heavy cream, milk, vanilla extract, sugar, cinnamon, ginger powder, nutmeg and salt in a large bowl.
Whisk the eggs in a second large bowl and set aside.
Cook the cream-and-vanilla mixture in a large saucepan over medium-low heat until the mixture is warm and begins to simmer, 2 to 3 minutes.
Once the cream-and-vanilla mixture simmers, lower the heat and add a small ladleful to the large bowl with the beaten eggs. This will help to slowly bring up the temperature of the eggs so they will not scramble in the next step.
Very slowly add the egg mixture to the cream-and-vanilla mixture, whisking continuously, and cook over low heat until the mixture is thick, 8 to 10 minutes. Pour the mixture into a large bowl and set aside to cool.
Cut the challah into long 1-inch-wide slices. Fully submerge the challah sticks in the creamy egg mixture.
Melt the butter in a large skillet over medium heat and cook until bubbling, about 2 minutes.
Add a batch of the coated challah sticks and cook until the outside is golden brown and crisp, and the inside is cooked through, 3 to 4 minutes per side. You will need to watch and adjust the temperature between medium and medium-low if the bread is browning too quickly or not browning fast enough. Keep the finished French toast slices warm on a rack nested in a rimmed baking sheet in the oven. Repeat with the remaining slices, adding more butter as needed.