Heat a large high-sided skillet over medium-high heat. Add the ground beef and brown it, breaking it into pieces as it cooks, about 5–7 minutes.
Drain fat from the browned beef and optionally rinse briefly with hot water; set the beef aside and wipe out the skillet.
Return the skillet to medium heat and add the olive oil. Sauté the diced onion, minced garlic, and diced carrot until tender, about 5–7 minutes.
Add the browned beef back to the pan, then stir in the 15 oz tomato sauce/diced tomatoes, tomato paste, 1 cup cold water, basil, oregano, brown or granulated sugar, and bay leaves. Season with salt and pepper to taste.
Bring the sauce to a gentle simmer, reduce heat to medium-low, cover, and cook, stirring occasionally, for 1–4 hours until flavors meld. If the sauce gets too thick, add a little more water.
When ready to serve, bring a large pot of salted water to a boil and cook the gluten-free spaghetti according to the package directions. Drain the pasta.
Toss the drained pasta with the meat sauce, remove bay leaves, and serve with grated Parmesan if desired.