Πλύνετε τις πατάτες και τις μελιτζάνες. Καθαρίστε τις πατάτες και κόψτε σε τις μελιτζάνες σε χοντρές φέτες.
Απλώνουμε τις μελιτζάνες και τις πατάτες σε ταψί περασμένο με λαδόκολλα. Τις αλείφουμε με ελαιόλαδο και τις πασπαλίζουμε με αλάτι. Τις ψήνουμε σε προθερμασμένο φούρνο, στους 200oC για 12-15 λεπτά μέχρι να μαλακώσουν.
Σε βαθύ τηγάνι ζεσταίνουμε 2 κ.σ. ελαιόλαδο. Σοτάρουμε τον κιμά μέχρι να ροδίσει, για 5-6 λεπτά και αλατοπιπερώνουμε.
Προσθέτουμε το κρεμμύδι και συνεχίζουμε το σοτάρισμα για 5-6 λεπτά ακόμα. Προσθέτουμε το σκόρδο, την κανέλα και το μπαχάρι και σοτάρουμε για 1-2 λεπτά. Ρίχνουμε στην κατσαρόλα τον τοματοπελτέ, τον αφήνουμε να σοταριστεί ξύνοντας παράλληλα τον πάτο της κατσαρόλας.
Προσθέτουμε τις ντομάτες, τη ζάχαρη, ανακατεύουμε και χαμηλώνουμε τη φωτιά. Αφήνουμε να σιγοβράσει για 15-20 λεπτά, ανακατεύοντας κάθε τόσο κι όταν τα πολλά υγρά έχουν εξατμιστεί, αποσύρουμε και αφήνουμε στην άκρη.
Λαδώνουμε ταψί ή πυρίμαχο σκεύος και, προαιρετικά, πασπαλίζουμε με λίγη φρυγανιά. Από πάνω απλώνουμε μία στρώση πατάτες και από πάνω μελιτζάνες. Καλύπτουμε με τον κιμά.
Σε μπολ χτυπάμε το γιαούρτι, τα αυγά, αλάτι, φρεσκοτριμμένο πιπέρι και λίγο τριμμένο μοσχοκάρυδο και απλώνουμε το μείγμα πάνω από την τελευταία στρώση κιμά.
Πασπαλίζουμε με το κεφαλοτύρι και τη φρυγανιά και ψήνουμε το μουσακά σε προθερμασμένο φούρνο, στους 180oC για 40-45 λεπτά. Αφήνουμε να κρυώσει τουλάχιστον 20 λεπτά πριν σερβίρουμε.