Put oil in a large pot over medium heat, cook the onion and carrots for 8-10 minutes, or until softened. Add the garlic and sauté for 1 minute
Add the beef and cook it while breaking it up, until browned
Pour in the canned tomatoes, chopped tomatoes, and dried herbs, mix and simmer. Season with desired amount of salt pepper and sugar. Cover and cook for about 20-30 minutes, occasionally stirring, until the sauce has thickened slightly and meat is tender.
In a large pot, melt butter over medium heat. Remove it from the hot stove; add the flour and whisk for 30 seconds
Place the pot back on the stove, reduce heat and slowly whisk in 1 cup of milk. Once blended, add the remaining milk in 1 cup increments, mixing after each addition, until all the milk has been used up and sauce is free from lumps.
Increase heat to medium and continue cooking the sauce while stirring occasionally until it thickens (6-7 minutes)
Add the parmesan cheese to the pot and remove it from the stove. Season with salt and pepper and mix until the cheese is melted through.
Preheat the oven to 180 C
Spoon about 1 cup of meat sauce on the base of a 9x13-inch baking dish, then cover with lasagna sheets.
Layer with 2 cups of meat sauce (or enough to cover the pasta), 1 cup of white sauce and half of the mozzarella cheese. Repeat layers (Saving some cheese for the top).
Pour the remaining meat sauce and white sauce over the last layer of lasagna sheets and top it with the remaining mozzarella cheese.
Bake for 25 minutes or until golden and bubbling
Garnish with parsley and let stand for about 10 minutes before slicing and serving it