Heat half the oil in a large deep-frying pan over medium-high heat. Sprinkle chicken with 2 teaspoons of paprika. Season with salt and pepper. Cook chicken, turning, for 8-10 minutes or until golden and cooked through. Transfer to a plate. Cover to keep warm.
Heat remaining oil in same pan over medium-high heat. Cook onion and garlic, stirring, for 3-4 minutes or until onion softens. Add flour and remaining paprika and stir to coat. Gradually add stock and cream until smooth and combined. Bring to the boil.
Add pasta and tomatoes and stir to combine. Cook, covered, stirring occasionally, for 15 minutes or until pasta is tender and sauce thickens.
Remove pan from heat. Stir in cheeses (reserving a little parmesan for serving) until melted and combined. Stir through spinach until just wilted. Slice chicken and add to the pasta. Sprinkle with remaining parmesan.