Soften the cream cheese. Let it sit at room temperature for 20–30 minutes.
This helps you achieve a smooth, spreadable filling that won’t tear the bread.
Make the filling. In a bowl, mix cream cheese, powdered sugar, vanilla, and lemon zest (if using) until smooth and fluffy. Taste and adjust sweetness. You want it lightly sweet, not frosting-sweet.
Build the sandwiches. Lay out 8 slices of thick bread.
Spread a generous layer of filling on 4 slices, leaving a small border around the edges. Top with the remaining slices to make 4 sandwiches. Press gently to seal.
Mix the custard. In a shallow dish, whisk eggs, cream (or milk), cinnamon, and a pinch of salt.
The mixture should be well combined with no streaks of egg white.
Preheat the skillet. Heat a large nonstick or well-seasoned skillet over medium heat. Add 1 tablespoon butter and 1 teaspoon oil. The oil helps prevent the butter from burning, while the butter adds flavor.
Dip the sandwiches. Working one at a time, dip each sandwich into the custard for about 3–4 seconds per side.
Don’t soak them; you want the exterior coated without turning the center soggy.
Cook until golden. Place the dipped sandwiches in the hot skillet. Cook 3–4 minutes per side, adjusting heat as needed, until the bread is golden brown and the filling is warm. Add more butter and oil between batches.
Finish and rest briefly. Transfer to a wire rack for 1–2 minutes.
This keeps the crust crisp instead of steaming on a plate.
Serve. Dust with powdered sugar, slice on the diagonal, and serve with warm maple syrup and fresh berries. For extra shine, add a small pat of butter on top.