Collect all the ingredients.
Prepare the batter by blending together milk, flour, water, eggs, oil, sugar, salt, and vanilla until smooth, about 1-2 minutes. Scrape the sides as needed. Let the batter rest at room temperature for 30 minutes to thicken.
While the batter rests, prepare the filling by mixing ricotta, cream cheese, egg, 2 tablespoons of powdered sugar, lemon zest, and salt in a bowl until smooth and well-combined. Cover and refrigerate until ready to use.
Once the batter has rested, heat a 10-inch nonstick skillet over medium-high heat. Lightly coat the pan with cooking spray, then pour in approximately 1/4 cup of the batter.
Quickly swirl the batter to evenly cover the bottom of the skillet. Cook for about 1 minute, or until the surface appears dry.
Flip the crêpe and cook for an additional 30 seconds, then transfer it to a plate. Continue cooking and stacking the remaining crêpes.
Preheat the oven to 325°F (165°C) and lightly grease a baking dish.
Place 3 to 4 tablespoons of filling on each crêpe, about 1 inch from the edge closest to you. Fold the edge over the filling and press down gently to seal.
Fold in both sides of the crêpe, then roll it up tightly into a neat rectangle, ensuring the seam is on the bottom to hold it together.
Melt butter in a large skillet over medium heat. Cook the blintzes in batches, turning them gently until golden brown, about 1 minute per side. Transfer the cooked blintzes to the prepared baking dish.
Place the blintzes in the preheated oven and bake for about 12 minutes, until the filling is set and the edges are crisp.
Allow the blintzes to cool for 10 minutes, then sprinkle with the remaining powdered sugar before serving.