Heat the oil in a large skillet. Then add the beef, and brown it on all sides. Now remove the beef from the skillet.
Add the onions to skillet, and let it cook slowly until golden brown. Add the browned beef, stir in 1 cup water, add apple and tomatoes, then sprinkle with salt, pepper, and sugar.
Bring this mixture to boil, then reduce the heat, and let this simmer, covered with a lid for about 2 hours.
Add potatoes and cabbage to the meat mixture, then let this simmer covered for about 20 more minutes longer, or until the vegetables are tender. Sprinkle with cilantro before serving.