There are many factors that turn ordinary meetings into chaotic, runaway affairs but by effectively keeping in check the following factors, you can actually conduct productive meetings without going overtime.
The most key aspect of meetings is the timing. Some people tend to arrive early, and some come in when half the meeting is over. Establishing a meeting framework (i.e. an agenda) helps, but essentially, the only way to keep meetings in check is to start and end on time, no matter what happens. This may seem impractical, considering that sometimes unexpected issues pop up in meetings and have to be tackled right there. However, your time estimates should always reflect the need for a little overtime. For example, if your weekly project review meeting is set for an hour-long session, add a buffer of 15 minutes to accommodate in-meeting issues, extra discussions or tardiness. Nevertheless, the meeting MUST start on time.
Timing aside, the meeting should have a loose framework that it follows. From ensuring that everyone expected to contribute gets their fair share of time to giving space to the decision-making process, the meeting should be phased (just like a project). While you shouldn’t give specific time schedules for each phase, it helps to list these phases and the importance to the meeting as a percentage. This will help keep everything in perspective, and make sure that everyone is focused on the core objectives of the meeting and do not get distracted by small issues.