diff --git a/.changeset/perfect-frogs-decide.md b/.changeset/perfect-frogs-decide.md
new file mode 100644
index 000000000000..0811000ad600
--- /dev/null
+++ b/.changeset/perfect-frogs-decide.md
@@ -0,0 +1,5 @@
+---
+'@sveltejs/kit': patch
+---
+
+[fix] load CSS before JS preloads
diff --git a/packages/kit/src/runtime/server/page/render.js b/packages/kit/src/runtime/server/page/render.js
index d0bdaa5ecc56..5ea26e4fd425 100644
--- a/packages/kit/src/runtime/server/page/render.js
+++ b/packages/kit/src/runtime/server/page/render.js
@@ -100,8 +100,11 @@ export async function render_response({
? ``
: ''
: [
- ...Array.from(js).map((dep) => ``),
- ...Array.from(css).map((dep) => ``)
+ // From https://web.dev/priority-hints/:
+ // Generally, preloads will load in the order the parser gets to them for anything above "Medium" priority
+ // Thus, we should list CSS first
+ ...Array.from(css).map((dep) => ``),
+ ...Array.from(js).map((dep) => ``)
].join('\n\t\t');
/** @type {string} */