Preheat the oven to 200C or 180C Fan 0r 400F or Gas 6
In a pan add the olive oil, and soften the onions, carrot, and celery over medium heat until soft and the onions are translucent.
Then add the garlic cloves and chilli. Cook for 3-4 minutes until the chilli begins to soften.
Add the tomato paste, tinned tomatoes, paprika and oregano. Stir to combine, then add the water. Bring to a boil then reduce to a simmer for 20 minutes until the vegetables are soft and the flavours have infused.
Blend the sauce and pass through a sieve for a smoother texture.
In a clean pan, add the pepperoni and slowly bring to high heat. Cook until the pepperoni begins to release its fat, and crisp then add the red onion. Cook on high for 3-4 minutes until the onions become tender.
Add the strained sauce and the pasta to the pan. Stir to combine. Season to taste.
Empty the pan into an oven-proof dish and cover with foil. Bake in the centre of a preheated oven for 20 minutes.
In the meantime, combine the parmesan with the breadcrumbs and season with black pepper.
Remove the pasta bake from the oven. Top with shredded mozzarella, then top with the breadcrumbs. Return the pasta bake to the oven, and bake uncovered for 10-12 minutes until the cheese is bubbling and the topping begins to brown.