An important difference between the Italian system and the German and English systems concerns the scope of application: Article 2035 Italian Civil Code is limited to immoral contracts, ie contracts that are against good morals. Thus, if the parties acted unlawfully (but not immorally), the contract is void and ordinary restitutions apply. The rationale behind the limited scope of application is that people are required to know what is against morality and can adapt their behaviour to it.
At the beginning, I will try to indicate how an Italian Court would probably have ruled in a case like Patel v Mirza. Some brief remarks on problematic issues and on the future perspectives of the in pari turpitudine rule of the Italian Civil Code will follow.
Patti, Francesco Paolo, The Denial of Restitution Under Italian Law: A Perspective on Patel v. Mirza. European Review of Private Law, volume 26, no 2, pp 255-263, 2018; Max Planck Private Law Research Paper No 19/1.