<?xml version="1.0"?>
<ownershipDocument>

    <schemaVersion>X0303</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2008-09-02</periodOfReport>

    <issuer>
        <issuerCik>0000040730</issuerCik>
        <issuerName>GENERAL MOTORS CORP</issuerName>
        <issuerTradingSymbol>GM</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001373481</rptOwnerCik>
            <rptOwnerName>Osborne Robert Stephen</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1>300 RENAISSANCE CENTER</rptOwnerStreet1>
            <rptOwnerStreet2>M/C:  482-C32-C66</rptOwnerStreet2>
            <rptOwnerCity>DETROIT</rptOwnerCity>
            <rptOwnerState>MI</rptOwnerState>
            <rptOwnerZipCode>48265-3000</rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isOfficer>1</isOfficer>
            <officerTitle>Group VP &amp; Gen. Counsel</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>General Motors Common Stock, $1-2/3 Par Value</value>
            </securityTitle>
            <transactionDate>
                <value>2008-09-02</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>8333</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>8333</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>General Motors Common Stock, $1-2/3 Par Value</value>
            </securityTitle>
            <transactionDate>
                <value>2008-09-02</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>D</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>8333</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>10.58</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>0</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
    </nonDerivativeTable>

    <derivativeTable>
        <derivativeTransaction>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value Restricted Stock Units</value>
                <footnoteId id="F1"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>0</value>
            </conversionOrExercisePrice>
            <transactionDate>
                <value>2008-09-02</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>M</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness></transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>8333</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>0</value>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>D</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <exerciseDate>
                <value>2007-09-01</value>
                <footnoteId id="F1"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F1"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>8333</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>8333</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeTransaction>
        <derivativeHolding>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value  Option (Right to Buy)</value>
                <footnoteId id="F2"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>29.73</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2007-09-01</value>
                <footnoteId id="F2"/>
            </exerciseDate>
            <expirationDate>
                <value>2016-09-02</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>120000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>120000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value  Option (Right to Buy)</value>
                <footnoteId id="F2"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>29.11</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2008-03-20</value>
                <footnoteId id="F2"/>
            </exerciseDate>
            <expirationDate>
                <value>2017-03-21</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>40000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>40000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value  Option (Right to Buy)</value>
                <footnoteId id="F2"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>23.13</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2009-03-05</value>
                <footnoteId id="F2"/>
            </exerciseDate>
            <expirationDate>
                <value>2018-03-06</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>60000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>60000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value Restricted Stock Units</value>
                <footnoteId id="F1"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>0</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2009-03-05</value>
                <footnoteId id="F1"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F1"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>22076</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>22076</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>GM Stock $1-2/3 Par Value Restricted Stock Units</value>
                <footnoteId id="F1"/>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>0</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2008-03-20</value>
                <footnoteId id="F1"/>
            </exerciseDate>
            <expirationDate>
                <footnoteId id="F1"/>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>General Motors Common Stock, $1-2/3 Par Value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>16666</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>16666</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">Restricted Stock Units (&quot;RSU&quot;) granted pursuant to Rule 16b-3 qualified General Motors Cash Based Restricted Stock Unit Plan.  Each Restricted Stock Unit is the economic equivalent of one share of General Motors common stock.  The RSUs are denominated in stock units but are paid in cash in three annual installments commencing, respectively, one, two and three years from the date of initial grant.  Date shown in Column 6 of Table II is the date the first installment is/was payable.  The price of zero in Table II is notional and only used for purposes of facilitating the electronic filing of this Form.</footnote>
        <footnote id="F2">Employee stock option granted pursuant to Rule 16b-3 qualified General Motors Long-Term Incentive Plan. Stock options vest and become exercisable in three equal annual installments, commencing, respectively, one, two and three years from the date of initial grant.  Date shown in Column 6 of Table II is the date the first installment becomes/became exercisable.</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>/s/ Martin I. Darvick, attorney-in-fact for Mr. Osborne</signatureName>
        <signatureDate>2008-09-03</signatureDate>
    </ownerSignature>
</ownershipDocument>
