Preheat the oven to 450 degrees F (230 degrees C).
Trim root end off onion, then slice or quarter onion, peel and all. Place onion and carrots into a large, shallow roasting pan with beef bones.
Roast, uncovered, in the preheated oven, turning bones occasionally, until bones are well browned, about 30 minutes.
Drain off fat. Transfer browned bones, onion, and carrots to a large soup pot or Dutch oven. Pour 1/2 cup water into the roasting pan and rinse; pour this liquid into the soup pot.
Add tomato, potato, celery, parsnip, whole parsley sprigs, salt, thyme, garlic, bay leaf, and peppercorns to the pot. Pour in remaining 12 cups water and bring to a boil. Reduce the heat, cover, and simmer for 5 hours. Strain stock. Discard meat, vegetables, and seasonings.