Using a box grater, grate the tomato into a medium bowl, discarding the tomato skin.
Heat the oil in a medium heavy skillet over medium-high heat. Add the onions and saute until translucent, about 5 minutes. Add the garlic and cook for 1 minute. Stir in the rice and cook until slightly toasted, about 3 minutes.
Add the broth, tomato sauce and grated tomato and bring to a boil. Add the serrano, cilantro sprig and salt, to taste. Bring to a boil, reduce the heat to medium and simmer until the liquid is absorbed and the rice is tender, about 15 minutes.
Turn off the heat under the skillet. Cover the rice and let stand for 8 minutes. Fluff the rice with a fork, transfer to a serving bowl and serve.