If using fresh sweet potatoes, roast at 400°F (200°C) for 45–55 minutes until tender, then peel and mash until smooth. If using canned, drain thoroughly and mash until smooth. Measure out 1½ cups (340g).
Preheat oven to 350°F (175°C). Grease a 9x5-inch loaf pan with butter or non-stick spray, and optionally line with parchment paper leaving overhang on the sides for easy removal.
In a large bowl, whisk together the mashed sweet potatoes, granulated sugar, brown sugar, eggs, oil, water or milk, and vanilla extract for 1–2 minutes until completely smooth and creamy.
In a separate bowl, whisk together the flour, baking soda, cinnamon, nutmeg, and salt for about 30 seconds until evenly combined with no clumps.
Pour the dry ingredients into the wet ingredients and gently fold with a rubber spatula just until no flour streaks remain — do not overmix, as this leads to a dense loaf.
If using nuts, chocolate chips, or other mix-ins, gently fold them into the batter now with just a few strokes until evenly distributed.
Pour the batter into the prepared loaf pan, smooth the top, and tap the pan 2–3 times on the counter. Bake for 55–65 minutes until a toothpick inserted in the center comes out with just a few moist crumbs; tent with foil after 40 minutes if the top browns too quickly.
Cool in the pan on a wire rack for 15–20 minutes, then lift out and cool completely (about 1 hour) before slicing with a serrated knife for the cleanest cuts.