Sauté onion in 2 tablespoons of olive oil in a skillet over medium-high heat until the onion is translucent, about 5 minutes. Stir garlic into the onion and turn off the heat. Transfer the onion mixture to a large mixing bowl.
Mix in ground beef, ricotta cheese, parsley, egg, salt, pepper, and cayenne pepper until almost combined. Stir in breadcrumbs and continue to mix until well blended.
Roll into meatballs that are about 1 inch around. Heat 2 tablespoons of oil in the skillet that was used to cook the onions in. Heat the oil to medium heat and brown the meatballs on all sides in the oil, about 5 minutes.
Pour the marinara sauce and water over the meatballs in the skillet. Stir to combine and bring to a simmer. Reduce the heat to medium-low and simmer, stirring occasionally, until the meatballs are cooked through and no longer pink inside, about 30 minutes.