Humanoid soccer serves as a benchmark problem for artificial intelligence research and robotics. Every year, more teams are competing, for example, in the RoboCup Humanoid League. As the robots improve in the basic skills of walking, kicking, and getting up, teams can focus on soccer skills and team coordination. The complexity of soccer behaviors and team play calls for structured behavior engineering. In this paper, we describe the design of the behavior control software for the Humanoid League team NimbRo. The software is based on a framework that supports a hierarchy of reactive behaviors. It is structured both as an agent hierarchy (joint–body part–player–team) and as a time hierarchy. The speed of sensors, behaviors, and actuators decreases when moving up in the hierarchy. The lowest levels of this framework contain position control of individual joints and kinematic interfaces for body parts. At the next level, basic skills are implemented. Soccer behaviors like searching for the ball, approaching the ball, avoiding obstacles, and defending the goal reside on the player level. Finally, on the tactical level, the robots communicate via a wireless network to negotiate roles and use allocentric information to configure the soccer behaviors. Our robots performed very well at RoboCup 2007, which took place in Atlanta, Georgia, USA. They won both the KidSize and the TeenSize humanoid soccer competitions.