Abstract Discourse analysis has largely focused on function at the expense of content. This paper attempts to redress the balance by providing an analysis of classroom discourse by identifying the topics in the discourse and following their development. To identify topics, bottom-up approaches based on theme–rheme progression and lexical networks were used together with a top-down schematic approach producing semantic networks of keywords. Having identified topics, topic development can be followed through the semantic network and categorised as topic maintenance, topic drift, topic shift, topic renewal or topic insertion. To illustrate the effectiveness of such an approach, an extract of classroom discourse from an EST course at a Thai university was analysed. Classroom discourse was chosen because of the importance of content structure to the effectiveness of such discourse, especially for explanations and eliciting. The analysis shows that identifying topics and following topic development are possible and may lead to a deeper understanding of the structure of classroom discourse.