Die Kreuzotter besitzt von allen Vipern das größte und zugleich das nördlichste Verbreitungsgebiet, zudem ist sie die einzige Schlangenart, die auch nördlich des Nördlichen Polarkreises angetroffen werden kann. Das Gebiet reicht von Mittel- und Nordeuropa einschließlich Großbritannien und Skandinavien über das Alpengebiet und den nördlichen Balkan, Polen, Ungarn, Tschechien sowie das gesamte nördliche Russland bis nach Sachalin im Osten Asiens.
In Deutschland kommt sie schwerpunktmäßig im Norddeutschen Tiefland (besonders in Heidegebieten), in den östlichen Mittelgebirgen sowie in Teilen Süddeutschlands (z. B. Schwarzwald, Schwäbische Alb, Bayerischer Wald, Alpen mit Vorland) vor; dazwischen tun sich größere Areallücken auf. Auch ist die Art hier insgesamt in ihrem Bestand stark bedroht und steht unter Naturschutz. In Österreich ist die Kreuzotter in allen Bundesländern, außer Wien und Burgenland, verbreitet. In den Alpen besiedelt sie hier Gebiete bis zu einer Höhe von etwa 2500 Metern. Die Kreuzotter fehlt im pannonischen Tiefland und in Südostösterreich. Es existieren größere lokale Vorkommen im Mühl- und Waldviertel. In der Schweiz tritt die Art vor allem im Alpengebiet auf, insbesondere im Osten. In den Westalpen ist sie deutlich seltener als die Aspisviper.
Die Kreuzotter bevorzugt Habitate mit starker Tag-Nacht-Temperaturschwankung und hoher Luftfeuchtigkeit. Besiedelt werden zwergstrauchreiche Waldschneisen und Waldränder – meist in Nadelwäldern –, Moore, Heiden, feuchte Niederungen, alpine Geröllfelder und Bergwiesen im Bereich der Baumgrenze. Im Gebirge trifft man die Schlange bis in Höhen von 2500 bis 3000 Metern an.
Die Kreuzotter ist tagaktiv und verlagert ihre Aktivität nur bei sehr großer Hitze in die Dämmerung. Morgens und am späten Nachmittag sucht sie geeignete Sonnenplätze auf und sonnt sich, die optimale Aktivitätstemperatur erreicht sie mit etwa 30 bis 33 °Celsius. An schwül-warmen Tagen und nach längeren Regenperioden ist sie besonders aktiv, gegenüber Wind reagiert sie dagegen sehr empfindlich. Bei Störung und Bedrohung flieht die Schlange unter Steine oder in die Vegetation. Wird sie in die Enge getrieben, kommt es zu Drohgebärden mit lautem Zischen sowie zu Bissen, wobei sie den Oberkörper nach vorne schnellen lässt.
Den Winter überbrückt die Kreuzotter durch eine fünf- bis siebenmonatige, im äußersten Norden sogar bis zu achtmonatige Hibernationszeit (Winterruhe). Dabei sucht sie geeignete Verstecke auf und überwintert häufig auch mit vielen weiteren Kreuzottern in gemeinsamen Quartieren. Ab März bis April, regional später, kommt sie wieder aus ihrer Winterruhe.
Wie die meisten anderen Vipern ist die Kreuzotter ein Lauerjäger und nicht auf bestimmte Beutetiere spezialisiert. Die Beutetiere werden durch einen Biss attackiert, durch den das Viperngift in den Körper injiziert wird. Danach verharrt die Kreuzotter kurz und beginnt dann die Verfolgung des gebissenen Tieres, welches aufgrund der Giftwirkung sehr geschwächt wird und schließlich stirbt. Die Beutetiere werden vollständig verschluckt, meistens mit dem Kopfende voran.
Die Kreuzotter jagt vor allem Kleinsäuger, Eidechsen sowie Frösche. Unter den Kleinsäugern stellen Langschwanzmäuse, Wühlmäuse und Spitzmäuse den größten Anteil der Beutetiere dar. Das individuelle Beutespektrum ist dabei stark abhängig vom lokalen Angebot, wodurch die Hauptbeutetiere entsprechend stark variieren. So besteht etwa im Bereich der Schäreninseln in Südschweden eine starke Abhängigkeit von der Erdmaus (Microtus agrestis), in den Wäldern Mitteleuropas von der Rötelmaus (Clethrionomys glareolus) und in moorigen Feuchtgebieten von Braunfröschen wie dem Grasfrosch (Rana temporaria) und dem Moorfrosch (Rana arvalis). Die Jungschlangen ernähren sich im Gegensatz zu den adulten Tieren fast ausschließlich von jungen Braunfröschen und Waldeidechsen, weshalb diese Arten eine zentrale Rolle bei der Verbreitung der Kreuzotter spielen.
Die Paarungen der Kreuzotter erfolgen nach der Winterstarre und der Frühjahrshäutung im April bis Mai. Während der Paarungszeit finden Kommentkämpfe der konkurrierenden Männchen statt, wobei die Kontrahenten den Vorderkörper aufrichten und versuchen, den Gegner zu Boden zu drücken. Der Paarung selbst geht ein langes Vorspiel voraus.
Die Kreuzotter gehört zu den ovoviviparen Schlangen, das heißt, sie brütet ihre Eier im Mutterleib aus. Die Eier bilden dabei nur die dünne Eihaut aus, die während oder direkt nach der Geburt von den Jungschlangen durchstoßen wird. Der Embryo ernährt sich dabei im Ei vom Eidotter. Der Mutterorganismus sorgt nur für den Gasaustausch. Die Jungschlangen kommen zwischen August und Oktober zur Welt, dabei liegt die durchschnittliche Wurfgröße bei 5 bis 15, in seltenen Fällen bis 20 Jungtieren. Die erste Häutung erfolgt kurz nach der Geburt, danach sind die Schlangen selbstständig aktiv und jagen nach jungen Fröschen und Eidechsen. Die Geschlechtsreife erlangen Kreuzottern mit drei bis vier Jahren.
Als Fressfeinde der Kreuzotter kommen eine Reihe von Greifvögeln, Raubtieren und anderen Wirbeltieren innerhalb ihres Verbreitungsgebietes in Frage, die in ihrer Gesamtheit für die Populationsentwicklung der Schlange nur eine geringe Rolle spielen. Lokal sind verschiedene Marderarten wie der Europäische Iltis (Mustela putorius), das Hermelin (Mustela erminea), der Dachs (Meles meles) oder das Feuerwiesel (Mustela sibirica) als Prädatoren von herausragender Bedeutung. Außerdem sind unter den Säugetieren im gesamten Verbreitungsgebiet der Kreuzotter der Rotfuchs (Vulpes vulpes), der Braunbrustigel (Erinaceus europaeus) und die Hauskatze von Bedeutung. Unter den Greifvögeln ist vor allem der Mäusebussard (Buteo buteo) als Schlangenjäger nachgewiesen, die Wiesen- (Circus pygargus) und die Rohrweihe (Circus aeruginosus), der Schwarzmilan (Milvus migrans), der Schell- (Aquila clanga) und der Schreiadler (Aquila pomarina) sowie der Schlangenadler (Circaetus gallicus). Auch eine Erbeutung durch den Uhu (Bubo bubo), die Aaskrähe (Corvus corone), den Graureiher (Ardea cinerea), den Weißstorch (Ciconia ciconia), den Kranich (Grus grus) und das Haushuhn (Gallus gallus) ist nachgewiesen. Unter den Reptilien kommen die Ringelnatter (Natrix natrix) und die Würfelnatter (Natrix tessellata) vor allem für Jungschlangen als Fressfeinde in Frage, beide Arten werden jedoch von ausgewachsenen Kreuzottern auch erbeutet.
Eine besondere Rolle spielt das Wildschwein (Sus scrofa), welches als Allesfresser auch Kreuzottern ebenso wie andere Reptilien aufspürt und frisst. Aufgrund der zunehmenden Bestände in weiten Teilen Mitteleuropas können Wildschweine lokal einen sehr starken Prädationsdruck auf die Kreuzotternpopulation auswirken. Dabei konnte für den Zentralapennin in Italien nachgewiesen werden, dass die Schlangendichte, in dem Fall bezogen auf die Aspisviper (Vipera aspis) und die Äskulapnatter (Zamenis longissimus) in wildschweinfreien Gebieten bis zu dreimal höher liegt als in vergleichbaren Gebieten, in denen Wildschweinbestände leben; diese Zahlen können auf Kreuzotterbestände in Mitteleuropa übertragen werden. Dabei ist der Rückgang der Bestände vor allem verstärkend auf bereits durch Lebensraumveränderungen zurückzuführende Populationsverluste zu beobachten.