<?xml version="1.0" encoding="us-ascii"?><InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><Version>2.2.0.25</Version><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><ReportLongName>10800 - Disclosure - Comprehensive Income</ReportLongName><DisplayLabelColumn>true</DisplayLabelColumn><ShowElementNames>false</ShowElementNames><RoundingOption /><HasEmbeddedReports>false</HasEmbeddedReports><Columns><Column><Id>1</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><LabelColumn>false</LabelColumn><CurrencyCode>USD</CurrencyCode><FootnoteIndexer /><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios><MCU><KeyName>1/1/2011 - 3/31/2011
USD ($)

USD ($) / shares
</KeyName><CurrencySymbol>$</CurrencySymbol><contextRef><ContextID>FROM_Jan01_2011_TO_Mar31_2011</ContextID><EntitySchema>http://www.sec.gov/CIK</EntitySchema><EntityValue>0000073020</EntityValue><PeriodDisplayName /><PeriodType>duration</PeriodType><PeriodStartDate>2011-01-01T00:00:00</PeriodStartDate><PeriodEndDate>2011-03-31T00:00:00</PeriodEndDate><Segments /><Scenarios /></contextRef><UPS><UnitProperty><UnitID>USD</UnitID><UnitType>Standard</UnitType><StandardMeasure><MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema><MeasureValue>USD</MeasureValue><MeasureNamespace>iso4217</MeasureNamespace></StandardMeasure><Scale>0</Scale></UnitProperty><UnitProperty><UnitID>Shares</UnitID><UnitType>Standard</UnitType><StandardMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace></StandardMeasure><Scale>0</Scale></UnitProperty><UnitProperty><UnitID>USDpershare</UnitID><UnitType>Divide</UnitType><NumeratorMeasure><MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema><MeasureValue>USD</MeasureValue><MeasureNamespace>iso4217</MeasureNamespace></NumeratorMeasure><DenominatorMeasure><MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema><MeasureValue>shares</MeasureValue><MeasureNamespace>xbrli</MeasureNamespace></DenominatorMeasure><Scale>0</Scale></UnitProperty></UPS><CurrencyCode>USD</CurrencyCode><OriginalCurrencyCode>USD</OriginalCurrencyCode></MCU><CurrencySymbol>$</CurrencySymbol><Labels><Label Id="1" Label="3 Months Ended" /><Label Id="2" Label="Mar. 31, 2011" /></Labels></Column></Columns><Rows><Row><Id>2</Id><IsAbstractGroupTitle>true</IsAbstractGroupTitle><Level>0</Level><ElementName>nwn_ComprehensiveIncome</ElementName><ElementPrefix>nwn</ElementPrefix><IsBaseElement>false</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><ShortDefinition>No definition available.</ShortDefinition><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsSubReportEnd>false</IsSubReportEnd><IsCalendarTitle>false</IsCalendarTitle><IsTuple>false</IsTuple><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole /><FootnoteIndexer /><Cells><Cell><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText /><NonNumericTextHeader /><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios></Cell></Cells><OriginalInstanceReportColumns /><Unit>Other</Unit><ElementDataType>xbrli:stringItemType</ElementDataType><SimpleDataType>string</SimpleDataType><ElementDefenition>No definition available.</ElementDefenition><IsTotalLabel>false</IsTotalLabel><IsEPS>false</IsEPS><Label>Comprehensive Income</Label></Row><Row><Id>3</Id><IsAbstractGroupTitle>false</IsAbstractGroupTitle><Level>0</Level><ElementName>us-gaap_ComprehensiveIncomeNoteTextBlock</ElementName><ElementPrefix>us-gaap</ElementPrefix><IsBaseElement>true</IsBaseElement><BalanceType>na</BalanceType><PeriodType>duration</PeriodType><ShortDefinition>No definition available.</ShortDefinition><IsReportTitle>false</IsReportTitle><IsSegmentTitle>false</IsSegmentTitle><IsSubReportEnd>false</IsSubReportEnd><IsCalendarTitle>false</IsCalendarTitle><IsTuple>false</IsTuple><IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow><IsEquityAdjustmentRow>false</IsEquityAdjustmentRow><IsBeginningBalance>false</IsBeginningBalance><IsEndingBalance>false</IsEndingBalance><IsReverseSign>false</IsReverseSign><PreferredLabelRole /><FootnoteIndexer /><Cells><Cell><Id>1</Id><IsNumeric>false</IsNumeric><IsRatio>false</IsRatio><DisplayZeroAsNone>false</DisplayZeroAsNone><NumericAmount>0</NumericAmount><RoundedNumericAmount>0</RoundedNumericAmount><NonNumbericText>&lt;p style='margin-top:0pt; margin-bottom:0pt'&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;font-weight:bold;margin-left:0px;"&gt;8&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;font-weight:bold;"&gt;.&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;font-weight:bold;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;font-weight:bold;text-decoration:underline;"&gt;Comprehensive Income&lt;/font&gt;&lt;/p&gt;&lt;p style='margin-top:0pt; margin-bottom:0pt'&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;margin-left:0px;"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;&lt;p style='margin-top:0pt; margin-bottom:0pt'&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;margin-left:36px;"&gt;Items excluded from net income and charged directly to stockholders' equity are included in accumulated other comprehensive income (loss), net of tax.&amp;#160;&amp;#160;The amount of accumulated other comprehensive loss in stockholders' &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;equity is &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;$6.5&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; million and&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;$5.9&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; million as of &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;March 31, 2011 &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;and&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; 2010,&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; respectively, which is related to employee benefit plan liabilities.&amp;#160;&amp;#160;The following table provides a reconciliation of net income to total comprehensive income for the &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;three months ended March 31, 2011 &lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;and&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt; 2010&lt;/font&gt;&lt;font style="font-family:Times New Roman;font-size:11pt;"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p style='margin-top: 0pt; margin-bottom: 0pt;'&gt;&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;margin-top:20px;"&gt;&lt;tr style="height: 20px"&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 470px; text-align:left;border-color:#000000;min-width:470px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="4"  style="width: 220px; text-align:center;border-color:#000000;min-width:220px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: center;"&gt;Three Months Ended&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 20px"&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 470px; text-align:left;border-color:#000000;min-width:470px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-bottom-style:solid;border-bottom-width:1px;text-align:right;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="4"  style="width: 220px; border-bottom-style:solid;border-bottom-width:1px;text-align:center;border-color:#000000;min-width:220px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: center;"&gt;March 31,&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 20px"&gt;&lt;td colspan="2"  style="width: 480px; text-align:left;border-color:#000000;min-width:480px;"&gt;&lt;font style="TEXT-DECORATION: underline;FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: left;"&gt;Thousands&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:center;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;text-align:right;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;text-align:center;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: center;"&gt;2011&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;text-align:center;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;text-align:center;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;border-bottom-style:solid;border-bottom-width:1px;text-align:center;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: center;"&gt;2010&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 20px"&gt;&lt;td colspan="2"  style="width: 480px; text-align:left;border-color:#000000;min-width:480px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: left;"&gt;Net income&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;text-align:right;border-color:#000000;min-width:10px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: right;"&gt;$&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 40,773&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;text-align:right;border-color:#000000;min-width:10px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: right;"&gt;$&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 43,608&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 20px"&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 470px; text-align:left;border-color:#000000;min-width:470px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: left;"&gt;Amortization of employee benefit plan liability, net of tax&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-bottom-style:solid;border-bottom-width:1px;text-align:right;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 100px; border-bottom-style:solid;border-bottom-width:1px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 146&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; text-align:right;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 100px; border-bottom-style:solid;border-bottom-width:1px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 98&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height: 21px"&gt;&lt;td colspan="2"  style="width: 480px; text-align:left;border-color:#000000;min-width:480px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: left;"&gt;Total comprehensive income&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-top-style:solid;border-top-width:1px;border-bottom-style:double;border-bottom-width:3px;text-align:right;border-color:#000000;min-width:10px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: right;"&gt;$&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;border-bottom-style:double;border-bottom-width:3px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 40,919&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 10px; text-align:left;border-color:#000000;min-width:10px;"&gt;&amp;#160;&lt;/td&gt;&lt;td   style="width: 10px; border-bottom-style:double;border-bottom-width:3px;text-align:right;border-color:#000000;min-width:10px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;TEXT-ALIGN: right;"&gt;$&lt;/font&gt;&lt;/td&gt;&lt;td   style="width: 100px; border-top-style:solid;border-top-width:1px;border-bottom-style:double;border-bottom-width:3px;text-align:right;border-color:#000000;min-width:100px;"&gt;&lt;font style="FONT-FAMILY: Times New Roman;FONT-SIZE: 11pt;COLOR: #000000;"&gt; 43,706&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</NonNumbericText><NonNumericTextHeader>8.&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;Comprehensive Income&amp;#160;Items excluded from net income and charged directly to stockholders' equity are included</NonNumericTextHeader><FootnoteIndexer /><CurrencyCode /><CurrencySymbol /><IsIndependantCurrency>false</IsIndependantCurrency><ShowCurrencySymbol>false</ShowCurrencySymbol><DisplayDateInUSFormat>false</DisplayDateInUSFormat><hasSegments>false</hasSegments><hasScenarios>false</hasScenarios></Cell></Cells><OriginalInstanceReportColumns /><Unit>Other</Unit><ElementDataType>us-types:textBlockItemType</ElementDataType><SimpleDataType>string</SimpleDataType><ElementDefenition>This label may include the following:  1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income. Components of comprehensive income include: (1) foreign currency translation adjustments; (2) gains and losses on foreign currency transactions that are designated as, and are effective as, economic hedges of a net investment in a foreign entity; (3) gains and losses on intercompany foreign currency transactions that are of a long-term-investment nature, when the entities to the transaction are consolidated, combined, or accounted for by the equity method in the reporting enterprise's financial statements; (4) change in the market value of a futures contract that qualifies as a hedge of an asset reported at fair value; (5) unrealized holding gains and losses on available-for-sale securities and that resulting from transfers of debt securities from the held-to-maturity category to the available-for-sale category; (6) a net loss recognized as an additional pension liability not yet recognized as net periodic pension cost; and (7)  the net gain or loss and net prior service cost or credit for pension plans and other postretirement benefit plans.</ElementDefenition><ElementReferences>Reference 1: http://www.xbrl.org/2003/role/presentationRef
 -Publisher FASB
 -Name Statement of Financial Accounting Standard (FAS)
 -Number 130
 -Paragraph 14-26

</ElementReferences><IsTotalLabel>false</IsTotalLabel><IsEPS>false</IsEPS><Label>Comprehensive Income Text Block</Label></Row></Rows><Footnotes /><NumberOfCols>1</NumberOfCols><NumberOfRows>2</NumberOfRows><ReportName>Comprehensive Income</ReportName><MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel><SharesRoundingLevel>UnKnown</SharesRoundingLevel><PerShareRoundingLevel>UnKnown</PerShareRoundingLevel><ExchangeRateRoundingLevel>UnKnown</ExchangeRateRoundingLevel><HasCustomUnits>false</HasCustomUnits><SharesShouldBeRounded>true</SharesShouldBeRounded></InstanceReport>
