Heat the olive oil in a large pot or Dutch oven over medium-high heat.
Season the beef ribs with salt and black pepper. Sear the ribs in the pot until browned on all sides, about 5-7 minutes.
Remove the beef ribs and set them aside on a plate.
In the same pot, add the chopped onion and minced garlic. Sauté for 3-4 minutes until the onion is translucent.
Add the sliced carrots and diced apple to the pot, stirring to combine. Cook for an additional 2-3 minutes.
Return the beef ribs to the pot and pour in the beef broth. Stir in the dried thyme and rosemary.
Bring the soup to a boil, then reduce the heat to low. Cover and simmer for about 1.5 to 2 hours, or until the beef ribs are tender.
Once the ribs are tender, taste the soup and adjust seasoning with additional salt and pepper if needed.
Serve the soup hot, garnishing with fresh parsley if desired.