diff --git a/src/ClassParser.ts b/src/ClassParser.ts
index 0f63eae..f7cafd6 100644
--- a/src/ClassParser.ts
+++ b/src/ClassParser.ts
@@ -349,7 +349,7 @@ export default class ClassParser {
     if (this.consumePeeked(`z-`)) {
       const zIndex = Number(theme?.zIndex?.[this.rest] ?? this.rest);
       if (!Number.isNaN(zIndex)) {
-        return complete({ zIndex });
+        return complete({ zIndex: this.isNegative ? -zIndex : zIndex });
       }
     }
 
diff --git a/src/__tests__/z-index.spec.ts b/src/__tests__/z-index.spec.ts
index dd41bb1..15a2d7b 100644
--- a/src/__tests__/z-index.spec.ts
+++ b/src/__tests__/z-index.spec.ts
@@ -9,6 +9,7 @@ describe(`z-index utilities`, () => {
     [`z-0`, { zIndex: 0 }],
     [`z-10`, { zIndex: 10 }],
     [`z-30`, { zIndex: 30 }],
+    [`-z-30`, { zIndex: -30 }],
     [`z-100`, { zIndex: 100 }],
     // arbitrary
     [`z-194`, { zIndex: 194 }],