In a large skillet or dutch oven, cook onion in olive oil until translucent, add garlic and stir until fragrant (just about 1 minute), stir in the canned tomatoes, tomato paste, water, salt, pepper and Parmesan cheese.
Cook on low simmer for 1 hour. Stir occasionally to prevent burning to bottom of pan.
Combine ground beef, breadcrumbs, garlic, egg, and seasonings and mix thoroughly. Be careful not to over mix the meat. Form in small balls and brown sides in hot olive oil in a skillet.
Add browned meatballs to sauce and cook over low heat for 15 minute
Serve with fresh mozzarella slices and hoagie style rolls for meatball subs. Optional: top with fresh herbs or sautéed onions and peppers.