Preheat the oven to 400 degrees F.
Heat a deep saute pan over medium heat. Add the oil and allow to heat. Add the beef and pork to the oil, stirring to cook until browned, 6 to 8 minutes. Then add the tomato, garlic, parsley, salt, and pepper, and reduce the heat to low and cook for additional 3 to 4 minutes. Remove from the heat. Carefully strain into a bowl. Transfer the meat mixture to a clean bowl. Allow the mixture to cool for 5 minutes. (Mixture must be cool before adding to the pastry.) While the mixture cools, roll out the puff pastry.
For the roulade: Sprinkle some flour on your counter or cutting board. Lay the sheet of pastry over the flour. With a rolling pin, roll the pastry out from the center, from the top to the bottom, and then out to the sides to make it a large rectangle, about 1 1/2 times the original size.
Stir the egg yolks and breadcrumbs into the cooled meat mixture, stirring in well.
Place half the cooled meat mixture onto the bottom third of the pastry sheet, keeping the bottom 2 inches empty. Top with half the Cheddar and goat cheeses and roll tightly. Using a pastry brush, brush the top of the pastry with a light coating of whisked egg whites. Sprinkle with salt, pepper, and half the Parmesan. Repeat with the second piece of pastry.
Place the roulades on a sheet pan covered with parchment. Bake in the oven until golden brown, 16 to 20 minutes. Remove from the oven and let rest for 5 minutes.
For the sauce: In a small bowl, stir the chopped onion and ketchup together.
To serve: Slice the roulades into thin rounds and serve warm with a dollop of sauce on each slice.
Keep the puff pastry in the fridge until you're ready to use it. If the pastry gets too warm and soft while you're rolling it out, just chill it for a minute before proceeding.
Make sure that the meat mixture is cooled before adding to the pastry.
Recipe courtesy of Robert Irvine