How to Make It
Heat the oil in a large heavy skillet over moderate heat. Add the onions and cook, stirring occasionally, until softened, about 5 minutes. Add the lamb, increase the heat to moderately high, and cook, stirring and breaking up lumps, until no longer pink, about 5 minutes. Add the oregano, cinnamon and allspice. Season to taste with salt and pepper and cook for 2 minutes.
Stir in the eggplant and tomatoes, cover, and simmer gently, stirring occasionally, until the eggplant is tender, about 40 minutes.
Remove the lid and simmer, stirring occasionally, until the sauce is thickened, about 15 minutes more. Season with salt and pepper. Keep warm over low heat.
Meanwhile, cook the pasta in a large pot of well-salted boiling water until just al dente. Reserve 1 cup of the pasta cooking water, then drain well in a colander. Add the pasta to the warm sauce and stir gently to combine and coat the pasta with the sauce, adding some of the reserved cooking water if the sauce is too thick. Season to taste with salt and pepper.
Spoon the pasta and sauce into warm bowls and top with grated ricotta salata. Serve immediately.