Heat olive oil in a large saucepan over medium heat. Add onion and garlic; cook and stir until softened, about 5 minutes. Transfer to a plate. Increase heat to medium-high. Add beef shank and cook until browned, about 5 minutes per side. Return onion and garlic to the pan. Sprinkle thyme, oregano, rosemary, and marjoram over beef.
Pour tomatoes and tomato paste into the pan. Fill the empty tomato paste can with water and pour into the pan. Stir in lemon zest, salt, and black pepper. Bring to a boil; reduce heat to low and simmer, covered, until beef is very tender, 1 1/2 to 2 hours.