In the sparse multiplication problem, one is asked to multiply two sparse polynomials f and g of degree at most n in time that is proportional to the size of the input plus the size of the output. The polynomials are given via lists of their coefficients F and G, respectively. Cole and Hariharan (STOC 02) have given a nearly optimal algorithm when the coefficients are positive, and Arnold and Roche (ISSAC 15) devised an algorithm running in time proportional to the “structural sparsity” of the product, i.e. the set supp(F) + supp(G). The latter algorithm is particularly efficient when there not ”too many cancellations” of coefficients in the product. In this work we give a clean, nearly optimal algorithm for the sparse polynomial multiplication problem, resolving an open question posed by Roche (ISSAC 18). Our algorithm is not only more general, but strictly faster than previous attempts, and beats FFT whenever the size of the output is at most n/log log n.