What speakers mean by it now
In everyday English, fast is first a word of speed: a fast car, a fast clock, someone who talks too fast. The same spelling still does other work. A sailor makes a line fast to a cleat. A dye that will not bleed is fast. A loyal companion is a fast friend. And to fast is to go without food. Those jobs look unrelated until the history is laid out. They are branches of one older idea: holding firm.
The origin of the word "fast" is native. English did not borrow it from French or Latin. What shifted is which sense took over ordinary speech.
A Germanic adjective, not a loan
Old English already had fæst. Its core was not velocity. The word described what was firmly fixed, constant, secure, enclosed, even watertight or fortified. That is the sense still audible in hold fast, make fast, steadfast, and colorfast. The related adverb fæste meant firmly, securely, strictly. A verb fæstan could mean to make something firm, to confirm or pledge, and also to abstain from food as a religious duty.
Those forms come down from Proto-Germanic fastuz, reconstructed as firm, fixed, secure. Close kin are easy to point to across the family: Old Frisian fest, Old Norse fastr, Dutch vast, German fest. Modern Swedish, Danish, and Norwegian still use fast in the firm sense. Icelandic has fastur. English kept the native word; it did not replace it.
How far back the root goes
Comparativists have long tied the Germanic adjective to a Proto-Indo-European base often written past-, with a meaning along the lines of firm or solid. American Heritage still sends readers to that root. Sanskrit pastyam, a word for a dwelling or homestead, is sometimes offered as a distant relative, on the thought that a stable habitation is a solid one. Old Armenian hast, firm and steady, is another proposed match.
That picture is not settled. Guus Kroonen reconstructs a different preform and treats the Germanic and Armenian words as a compound built on roots meaning to become firm and to stand. He sets the Sanskrit forms aside. Hrach Martirosyan doubts that a true Indo-European word is involved at all and suggests a shared substrate item in Armenian, Germanic, and perhaps Indo-Aryan. The Germanic family is solid. The step before Germanic is a matter of competing reconstructions, not a single agreed story.
From firmly to quickly
The speed sense did not start as an adjective meaning swift. It grew in the adverb. Old English fæste is securely firmly and strictly; whether it already meant speedily is uncertain. By about 1200 the English adverb clearly means quickly, and that development is widely linked to Old Norse fast, which covered both firmly and rapidly.
The path from firm to swift is a meaning slide, not a new root. One explanation is vigor: to run hard is to run fast, just as Old Norse could use fast for drinking hard or scolding someone severely. Another is closeness: a pursuer who sticks fast to what he chases is also moving at speed. A related Scandinavian sense of nearness survives in the old English phrase fast by, close beside. German offers a parallel of a different kind. Its adverb fast once meant firmly or very; today it means almost.
Dictionaries do not agree on when the adjective itself first meant rapid. Some place a swift reading in later Middle English; others date a clear quick sense only from the 1500s, transferred from the adverb. Either way, the modern default meaning is the latecomer. The older firm sense did not vanish. It narrowed into set phrases and compounds, and it is the reason fasten exists. When the short verb fast became occupied by abstinence, Middle English kept a longer form, from Old English fæstnian, for making something secure.
Later English kept adding specializations of the firm idea and of the speed idea. Colors that do not run are fast from the 1600s. Clocks that run ahead of true time are fast from the nineteenth century. Fast living in the eighteenth century meant an unrestrained chase after pleasure, speed as social looseness rather than as miles per hour.
Abstinence as holding to a rule
The verb and noun of going without food are not a separate word that happened to look the same. They grow from the same Germanic stock. The prehistoric verb meant to hold or guard. From holding firmly came the idea of holding oneself to an observance. Gothic fastan means both to keep or observe and to abstain from food. How that religious sense spread through Germanic is debated. It may have arisen as a native metaphor of self-control. It may also have been shaped when Gothic speakers used their own hold-fast verb to render a Greek or Latin word for fasting, after which the sense moved to the other Germanic languages. Either account is possible; neither is proven.
Old English already used fæstan for religious abstinence. The noun is later and slightly messy. Early Old English fæsten meant a fortress, cloister, enclosure, or prison: a place made fast. Only in late Old English does the noun clearly mean a period of going without food, perhaps under the influence of Old Norse fasta. That is the second half of breakfast: the meal that breaks the fast. The everyday verb of buckling a strap is fasten; the everyday verb of skipping meals is fast. English split one root into two jobs by keeping two forms.
A surviving split
German fest still means firm, while German fast means almost. English folded speed, firmness, and hunger into one spelling. The next time a clock is fast, a dye is fast, or a crew makes a ship fast, the same old Germanic adjective is doing three different kinds of holding on.