1. Ζεσταίνετε σε κατσαρόλα το ελαιόλαδο και τσιγαρίζετε το κρεμμύδι για 3 λεπτά. Προσθέτετε τα μανιτάρια, την ψιλοκομμένη πιπεριά (χωρίς τους σπόρους), και τις ντομάτες και σιγοψήνετε μέχρι να εξατμιστούν αρκετά τα υγρά και να δέσει η σάλτσα. Αλατοπιπερώνετε, ανακατεύετε μέσα και το κάρυ και σηκώνετε από τη φωτιά.
2. Εν τω μεταξύ, βράζετε σε άλλη κατσαρόλα τα μακαρόνια σε άφθονο αλατισμένο νερό. Παράλληλα, σε μικρό τηγάνι λιώνετε το βούτυρο και τηγανίζετε ελαφρά το ζαμπόν για 3 λεπτά. Οταν τα μακαρόνια ψηθούν (προσέχετε να μήν τα παραβράσετε) τα σουρώνετε και τα επιστρέφετε στην κατσαρόλα. Ρίχνετε μέσα και το ζαμπόν μαζί με την φρέσκα κρέμα και 2½ φλυντζάνια από τα τριμμένα τυριά και ανακατώνετε καλά.
3. Αδειάζετε τα μισά μακαρόνια σε τετράγωνο πυρίμαχο σκεύος και βάζετε από πάνω την μισή σάλτσα κάρυ. Επαναλαμβάνετε με τα υπόλοιπα μακαρόνια και την υπόλοιπη σάλτσα και στο τέλος πασπαλίζετε με τα υπόλοιπα τριμμένα τυριά (1/2 φλυντζάνι).
4. Ψήνετε σε μέτριο φούρνο για περίπου 20 λεπτά. Αφήνετε να κρυώσουν λίγο πρίν τα σερβίρετε.