Preheat the oven: Preheat the oven to 350°F (180°C). Line a baking sheet with parchment paper and set aside.
Sauté the aromatics: Melt the butter in a skillet over medium heat. Add the onion and cook until softened and translucent, about 3 minutes. Add the garlic and cook for 30 seconds, until fragrant. Remove from the heat and let cool slightly.
Make the meatloaf mixture: In a large bowl, combine the ground chicken, cooked onion and garlic, Parmesan, breadcrumbs, basil pesto, tomato passata or marinara, eggs, paprika, Italian seasoning, salt, and black pepper. Mix gently just until combined. Avoid overmixing.
Shape the meatloaf: Transfer the mixture to the prepared baking sheet and press it into a rectangle about ½ inch thick.
Add the filling: Sprinkle the shredded mozzarella evenly down the center of the meat mixture, leaving a border around the edges.
Roll: Starting from a short end, carefully roll the meat mixture into a tight log, enclosing the cheese. Pinch the seam and ends closed to help prevent the cheese from leaking out.
Bake: Place the meatloaf seam-side down and bake for 40 minutes.
Prepare the sauce: Meanwhile, combine the ¾ cup tomato passata or marinara sauce with the garlic powder.
Add the topping: Remove the meatloaf from the oven and spread the prepared sauce evenly over the top. Add the sliced mozzarella and sprinkle with grated Parmesan.
Finish baking: Return to the oven and bake for another 10–15 minutes, or until the cheese is melted and the center of the meatloaf reaches 165°F (74°C).
Rest and serve: Let the meatloaf rest for 10 minutes before slicing. Garnish with fresh basil and serve.