Preheat the oven to 200 C / Gas 6. Grease a large baking dish.
Heat the olive oil in a large frying pan over high heat. Crumble the beef into the pan and fry until lightly browned, about 3 minutes.
Add the onion, carrot, celery and garlic. Stir over a medium heat for 1 minute, then add the chopped tomatoes and the passata. Stir well, then add the oregano and season to taste with salt and pepper. Cook over a medium heat and simmer, stirring occasionally, for 15 minutes or until thick.
Meanwhile, bring a large pan of salted water to the boil, and cook the macaroni until tender, about 7 to 10 minutes.
Drain the pasta, and combine with the meat sauce, 2 tablespoons of the grated Parmesan cheese and the ricotta cheese. Turn the mixture into the prepared baking dish, then top with the diced mozzarella cheese and the remaining 2 tablespoons Parmesan cheese.
Bake in the preheated oven until bubbling and browned, about 20 minutes.