Over the past two decades the main focus of research into first-order (FO) model checking algorithms have been sparse relational structures-culminating in the FPT-algorithm by Grohe, Kreutzer and Siebertz for FO model checking of nowhere dense classes of graphs [STOC'14], with dense structures starting to attract attention only recently. Bova, Ganian and Szeider [LICS'14] initiated the study of the complexity of FO model checking on partially ordered sets (posets). Bova, Ganian and Szeider showed that model checking existential FO logic is fixed-parameter tractable (FPT) on posets of bounded width, where the width of a poset is the size of the largest antichain in the poset. The existence of an FPT algorithm for general FO model checking on posets of bounded width, however, remained open. We resolve this question in the positive by giving an algorithm that takes as its input an nelement poset P of width w and an FO logic formula ϕ, and determines whether ϕ holds on P in time f (ϕ, w) • n 2 . model checking remains PSPACE-complete on any fixed graph containing at least two vertices (again, see [7]). Hence, it is futile to look for restricted classes of graphs in which FO model checking can be done in polynomial time without restricting ϕ. Therefore, research has focused on obtaining algorithms with running time f (ϕ)n O(1) on restricted classes of graphs and other structures. Algorithms with such a running time are said to be fixed parameter tractable (FPT) parameterized by ϕ. Even though FPT algorithms are not polynomial time algorithms, due to unlimited f , they significantly outperform brute-force.The parameterized complexity of FO model checking on sparse graph classes is now well understood. In 1994 Seese [21] showed an FPT algorithm for FO model checking on graphs of bounded degree. Seese's algorithm was followed by a long line of work [11,9,4,6] giving FPT algorithms for progressively larger classes of sparse graphs, culminating in the FPT algorithm of Grohe, Kreutzer and Siebertz [15] on any nowhere dense graph classes. To complement this, Kreutzer [17] and Dvořák et al. [6] proved that if a class C closed under taking subgraphs is not nowhere dense, then deciding first-order properties of graphs in C is not fixed-parameter tractable unless FPT=W[1] (a complexity-theoretic collapse which is considered to be unlikely). Hence, this means that the result of Grohe, Kreutzer and Siebertz [15] captures all subgraphclosed sparse graph classes on which FO model checking is fixed parameter tractable.However, for other types of structures, such as dense graphs or algebraic structures, the parameterized complexity of FO model checking is largely uncharted territory. Grohe [14] notes that "it would also be very interesting to study the complexity of model-checking problems on finite algebraic structures such as groups, rings, fields, lattices, et cetera". From this perspective it is particularly interesting to investigate model checking problems on partially ordered sets (posets), since posets can be seen both as den...