Heat oil in a large frypan over medium heat. Saute onions until translucent. Saute garlic for 1 minute and stir in beef mince. Cook until well browned and crumbled. Season with salt and set aside to cool.
Cook spinach according to packet directions. Meanwhile bring a large pot of lightly salted water to a boil. Add cannelloni shells and parboil for half of the time recommended on the packet. Drain and cover with cool water to stop the cooking process and prevent the shells from cracking.
To the beef mince mixture add the cooked spinach and ricotta cheese. When the mixture is cool, add the beaten eggs. Spread 1/4 cup spaghetti sauce in the bottom of a 20x30cm baking dish.
Gently drain the cannelloni shells and carefully stuff each one with the meat and cheese mixture; place shells in prepared dish. Lightly cover the dish with plastic wrap or a clean, damp towel to prevent shells from cracking.
Preheat oven to 180 degrees C.
Prepare the white sauce by melting the butter in a small saucepan over medium heat. Stir in flour and chicken stock powder. Increase heat to medium-high and cook, stirring constantly, until it begins to bubble.
Stir in cream and bring to a boil for one minute, stirring constantly. Remove from heat and stir in parsley. Pour or ladle the sauce evenly over the stuffed shells.
Stir the basil into the remaining spaghetti sauce. Carefully pour or ladle spaghetti sauce over the white sauce, trying to layer the sauces without mixing.
Cover and bake for 40 minutes. Remove from oven, uncover and sprinkle with Parmesan cheese. Bake uncovered for 10 minutes more.