Preheat oven to 425°F (220°C). Line a baking sheet with parchment paper.
In a saucepan, combine water, butter, sugar, and salt. Bring to a boil over medium heat.
Remove from heat and add flour all at once. Stir vigorously until the mixture forms a ball and pulls away from the sides of the pan.
Transfer dough to a mixing bowl. Let cool for 5 minutes. Add eggs one at a time, beating well after each addition until smooth.
Using a piping bag, pipe small mounds of dough onto the prepared baking sheet.
Bake for 10 minutes, then reduce oven temperature to 350°F (175°C) and bake for an additional 15 minutes or until golden brown. Let cool completely.
For the filling, whip the heavy cream, sugar, and vanilla extract together until stiff peaks form.
Cut the tops off the cooled puffs and fill with the whipped cream. Replace tops and serve.