Prepare the Meatballs: Start by mixing ground meat, breadcrumbs, egg, garlic, parmesan, parsley, salt, and pepper in a bowl. Stir gently until everything combines, keeping the texture light. Shape into medium-sized balls so they cook evenly and stay juicy inside.
Cook the Meatballs: Heat a pan with a bit of oil over medium heat. Add the meatballs and cook until browned on all sides. They do not need to be fully cooked yet, since they will finish baking later. Set them aside once they develop a golden outer layer.
Cook the Base: If using pasta, boil it in salted water until slightly firm, then drain well. If using rice, make sure it is fully cooked and fluffy. This base will absorb the sauce during baking and hold the dish together.
Prepare the Sauce Mixture: In a pan, heat olive oil and sauté the chopped onion until soft. Add the tomato sauce and Italian seasoning, then let it simmer for a few minutes so the flavors blend nicely.
Combine Everything: Place the cooked pasta or rice into a large bowl, then pour in the sauce and add the meatballs. Mix gently so everything gets coated evenly without breaking the meatballs.
Assemble the Casserole: Transfer the mixture into a baking dish and spread it out evenly. Sprinkle mozzarella and cheddar or parmesan over the top, making sure the surface gets a good layer of cheese.
Bake Until Golden: Place the dish in a preheated oven at 180°C and bake for about 25 minutes. The cheese should melt fully and turn slightly golden, while the sauce bubbles around the edges.
Let It Rest and Serve: Remove the casserole from the oven and let it sit for a few minutes. This helps everything settle and makes serving easier. Scoop out portions while still warm and enjoy.