Nagrzej piekarnik do 200 stopni i przygotuj okrągłe naczynie żaroodporne.
Rozgrzej oliwę w głębokiej patelni i podsmażaj cebulę przez ok. 5 minut do momentu zeszklenia.
Dodaj wołowinę i smaż, aż straci całkowicie różowy kolor.
Dopraw solą i bazylią, a następnie dodaj pomidory z puszki. Całość wymieszaj i doprowadź do wrzenia.
Zmniejsz ogień do minimum i ogtuj ok. 20 minut, co jakiś czas mieszając.
Gdy sos się gotuje, ugotuj makaron al dente w delikatnie osolonej wodzie, ok. 4-5 minut.
Pod koniec gotowania sosu dodaj pesto, wymieszaj i zdejmij patelnię z ognia.
Odcedź makaron w durszlaku, a sos przenieś do garnka, w którym muszelki się gotowały.
Dodaj odcedzone muszelki do sosu i delikatnie wymieszaj je z nim.
Ułoż połowę makaronu z sosem w naczyniu żaroodpornym, a na wierzchu dodaj połowę mozzarelli i parmezanu.
Przykryj zapiekankę pozostałym makaronem i wykończ resztą mozzarelli i parmezanu.
Piecz ok. 20 minut.