Grate courgette and place into a large bowl along with remaining meatball ingredients. Mix until combined. Using clean damp hands and a ¼ cup measure, roll into balls. Cover and set aside in fridge (for up to one day).
Preheat oven to 200°C. Bring a half full kettle to the boil. Heat a drizzle of oil in a large, oven-proof fry-pan on medium heat. Cook meatballs for 3-4 minutes, until browned on all sides but not cooked through (they will continue cooking later). Set meatballs aside and keep pan on the heat.
Add a drizzle of oil to pan and cook garlic and second measure of Italian spice mix for about 30 seconds, until fragrant. Add tomato passata, stock powder, boiling water, sugar, salt and vinegar. Bring to a simmer and cook for about 5 minutes, until slightly thickened. Bring a large pot of salted water to the boil.
While sauce simmers, cook pasta in pot of boiling water for about 3 minutes or until just tender. Drain and return to pot with a drizzle of oil to prevent sticking. Keep warm.
Return meatballs to pan with sauce and bake for about 10 minutes, until meatballs are nearly cooked through and sauce has thickened. Finely chop spinach and stir through sauce and return to oven for 2 minutes until wilted and meatballs are cooked through. Shave or grate Parmesan.
Divide spaghetti between bowls and top with meatballs and Parmesan cheese.
