The trick: change the reference frame
A gravity assist, or slingshot manoeuvre, looks at first like a spacecraft getting a free speed boost from nothing. It isn't free, and it isn't from nothing — the confusion comes from mixing up two different reference frames. In the planet's own frame, the encounter is a simple elastic scattering: the spacecraft arrives with some speed, swings around the planet under its gravity, and departs with the same speed but a different direction. Nothing is gained there — it behaves exactly like light bouncing off a mirror.
Where the speed actually comes from
The gain appears only in the Sun's frame, because the planet itself is moving. To translate the spacecraft's velocity into the Sun's frame, you simply add the planet's own orbital velocity vector to the spacecraft's velocity relative to the planet. Since the encounter rotates that relative-velocity vector without changing its length, adding the same planet velocity before and after the flyby can produce a noticeably longer (or shorter) resultant vector — a real change in the spacecraft's heliocentric speed:
v_sun_after = v_planet + v_relative_after v_sun_before = v_planet + v_relative_before |v_relative_after| = |v_relative_before| // unchanged in planet's frame v_relative_after direction ≠ v_relative_before direction // rotated by the flyby ⇒ |v_sun_after| can differ substantially from |v_sun_before|
Approach a planet so that the encounter rotates the relative velocity to align more closely with the planet's own direction of travel, and the two vectors add constructively — the spacecraft speeds up. Approach from the opposite geometry, and they partially cancel — the spacecraft slows down. Either way, the total energy and momentum of the whole system, spacecraft plus planet, is conserved: the planet loses (or gains) a matching, but utterly negligible, sliver of its own orbital momentum, immeasurably small against its own mass.
What sets the size of the boost
Two things control how much the relative-velocity vector rotates during the encounter: the spacecraft's approach speed relative to the planet, and the periapsis distance — how close it dares to pass. A slower relative approach and a closer periapsis both produce a larger turn angle, and the maximum possible boost is roughly twice the planet's own orbital speed, achieved in the idealised limit of a very close, very sharply bent trajectory. In practice, atmosphere, radiation belts and minimum safe altitude all limit how close a real mission can fly.
Missions that could not have flown without it
The Voyager 1 and 2 "Grand Tour" of the outer planets in the late 1970s and 1980s relied on a rare alignment of Jupiter, Saturn, Uranus and Neptune to chain gravity assists together, reaching Neptune with a trip that would have needed an impossibly large rocket to fly directly. Cassini used gravity assists at Venus (twice), Earth and Jupiter simply to reach Saturn with enough leftover fuel to orbit it for over a decade. New Horizons used a Jupiter flyby to shave years off its trip to Pluto. And MESSENGER needed the opposite trick — repeated flybys of Venus and Mercury itself to bleed off speed, since reaching an inner planet from Earth actually requires slowing down, not speeding up, relative to the Sun.
Frequently asked questions
Does a gravity assist violate conservation of energy?
No. In the planet's own reference frame the spacecraft's speed is unchanged before and after the encounter — only its direction changes, exactly like an elastic collision. The speed change only appears in the Sun's frame, where the planet's own orbital motion gets added to the spacecraft's velocity vector, and that motion comes at the immeasurably tiny cost of a fractional slowdown in the planet's own orbit.
Can a gravity assist slow a spacecraft down instead of speeding it up?
Yes. Approaching a planet from behind its direction of travel adds the planet's velocity to the spacecraft's and speeds it up; approaching from in front subtracts it and slows the spacecraft down. Missions like MESSENGER used a sequence of slowing flybys to shed the huge relative speed needed just to get close to Mercury.
Why not just use bigger rockets instead of gravity assists?
Reaching the outer solar system directly needs a launch energy few rockets can deliver, so gravity assists are effectively free propulsion once a spacecraft is already in the solar system — they add kilometres per second of speed without spending a gram of propellant, at the cost of a longer, indirect route and precise trajectory planning.
Try it live
Everything above runs in your browser — open Gravitational Slingshot and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.
▶ Open Gravitational Slingshot simulation