Égoutter la ricotta dans une passoire fine pendant 30 minutes.
Préparer la farce en mélangeant la ricotta, le parmesan râpé, la mozzarella en dés, le persil, la muscade, le sel et le poivre. Réserver dans une poche à douille ou un sac congélation dont un coin a été coupé.
Faire chauffer l'huile d'olive dans une casserole. Faire revenir l'oignon pendant 5 minutes à feu moyen.
Ajouter l'ail et cuire 1 minute supplémentaire.
Incorporer les tomates concassées, le basilic, l'origan, le sel et éventuellement le sucre. Laisser mijoter 10 minutes.
Préchauffer le four à 190 °C.
Étaler une couche généreuse de sauce tomate au fond d'un grand plat à gratin.
Farcir les tubes de cannelloni avec la préparation au fromage.
Disposer les cannelloni côte à côte dans le plat.
Répartir le reste de la sauce tomate sur et entre les cannelloni afin qu'ils soient bien recouverts.
Ajouter la mozzarella déchirée sur toute la surface, puis le parmesan râpé et quelques noisettes de beurre.
Couvrir le plat avec une feuille de papier aluminium.
Enfourner pendant 25 minutes.
Retirer l'aluminium, augmenter la température à 210 °C et poursuivre la cuisson 10 minutes jusqu'à obtenir un gratin bien doré.
Laisser reposer 10 minutes avant de servir.