Given a non-singular variety with a K3 fibration π : X → S we construct dual fibrations π : Y → S by replacing each fibre Xs of π by a two-dimensional moduli space of stable sheaves on Xs. In certain cases we prove that the resulting scheme Y is a non-singular variety and construct an equivalence of derived categories of coherent sheaves Φ: D(Y ) → D(X). Our methods also apply to elliptic and abelian surface fibrations. As an application we use the equivalences Φ to relate moduli spaces of stable bundles on elliptic threefolds to Hilbert schemes of curves.