We present new results on approximate colourings of graphs and, more generally, approximate H-colourings and promise constraint satisfaction problems.First, we show NP-hardness of colouring k-colourable graphs with k k/2 −1 colours for every k ≥ 4. This improves the result of Bulín, Krokhin, and Opršal [STOC'19], who gave NP-hardness of colouring k-colourable graphs with 2k−1 colours for k ≥ 3, and the result of Huang [APPROX-RANDOM'13], who gave NP-hardness of colouring k-colourable graphs with 2 Ω(k 1/3 ) colours for sufficiently large k. Thus, for k ≥ 4, we improve from known linear/subexponential gaps to exponential gaps.Second, we show that the topology of the box complex of H alone determines whether H-colouring of G-colourable graphs is NP-hard for all (non-bipartite, H-colourable) G. This formalises the topological intuition behind the result of Krokhin and Opršal [FOCS'19] that 3-colouring of G-colourable graphs is NP-hard for all (3-colourable, non-bipartite) G. We use this technique to establish NP-hardness of H-colouring of G-colourable graphs for H that include but go beyond K 3 , including square-free graphs and circular cliques (leaving K 4 and larger cliques open).Underlying all of our proofs is a very general observation that adjoint functors give reductions between promise constraint satisfaction problems.