Into a Dutch oven or large pot, add olive oil and diced onion. Sauté until softened. Add in puréed tomatoes, season with salt and pepper and add fresh basil. Stir to combine, cover and let that simmer on low for 1 1/2 to 2 hours.
Slice the eggplant, dip into seasoned flour and place on a plate. In a medium size bowl, add eggs and water and whisk. Heat up frying oil in a large frypan, dip the eggplant into the egg wash mixture and directly into the hot oil. Fry on both sides until golden brown and place onto paper towels to drain.
With all the ingredients hot, start to assemble. To a plate or baking dish, add a layer of sauce to the bottom, top with a layer of eggplant, more sauce on top, grated cheese and fresh basil. Continue layering until you have finished the eggplant. Top with more grated cheese and serve immediately.