We develop and implement a novel lattice Boltzmann scheme to study multicomponent flows on curved surfaces, coupling the continuity and Navier-Stokes equations with the Cahn-Hilliard equation to track the evolution of the binary fluid interfaces. Standard lattice Boltzmann method relies on regular Cartesian grids, which makes it generally unsuitable to study flow problems on curved surfaces. To alleviate this limitation, we use a vielbein formalism to write down the Boltzmann equation on an arbitrary geometry, and solve the evolution of the fluid distribution functions using a finite difference method. Focussing on the torus geometry as an example of a curved surface, we demonstrate drift motions of fluid droplets and stripes embedded on the surface of a torus. Interestingly, they migrate in opposite directions: fluid droplets to the outer side while fluid stripes to the inner side of the torus. For the latter we demonstrate that the global minimum configuration is unique for small stripe widths, but it becomes bistable for large stripe widths. Our simulations are also in agreement with analytical predictions for the Laplace pressure of the fluid stripes, and their damped oscillatory motion as they approach equilibrium configurations, capturing the corresponding decay timescale and oscillation frequency. Finally, we simulate the coarsening dynamics of phase separating binary fluids in the hydrodynamics and diffusive regimes for tori of various shapes, and compare the results against those for a flat two-dimensional surface. Our lattice Boltzmann scheme can be extended to other surfaces and coupled to other dynamical equations, opening up a vast range of applications involving complex flows on curved geometries.